【问题标题】:FFMPEG filters bayerFFMPEG 过滤器拜耳
【发布时间】:2017-10-04 05:26:50
【问题描述】:

所以我有一个用于将视频剪辑制作成 GIF 的脚本,但我的脚本有问题,它以前可以工作,现在不能工作。

在我的脚本中,我有预定义的变量和标志,但它在 AVFilterGraph 上通过说 No such filter: 'dither' 出错,但我检查了 FFMPEG 的文档并且有一个 dither 过滤标志,但由于某种原因,它在它时不起作用以前工作过。

#!/bin/sh 

start_time=00:00                                          # start time of GIF
duration=5                                            # duration of GIF
palette="/tmp/palette.png"                                    # temporary palette
filters="fps=20,scale=440:-1:flags=lanczos,dither=bayer:bayer_scale=1"    # FPS and Scale of GIF

ffmpeg -v warning -ss $start_time -t $duration -i $1 -vf "$filters,palettegen" -y $palette
ffmpeg -v warning -ss $start_time -t $duration  -i $1 -i $palette -lavfi "$filters [x]; [x][1:v] paletteuse" -y $2

为此

filters="fps=20,scale=440:-1:flags=lanczos,dither=bayer:bayer_scale=1"

抖动应该算作一个标志,即; flags=lanczos 并使用带有bayer_scale 的抖动方法。

我不明白为什么这在以前有效时不再有效。我的 ffmpeg 包没有任何改变,我的系统上安装了 ffmpeg version 3.3.3-2~ubuntu16.04.1~ppa1 包,之前它运行良好。我从这里的教程开始http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html

所以基本上使用我的脚本就是这样;

$ ./makegif.sh input_file.mp4 output_file.gif

然后它应该将转换后的视频生成为 GIF 格式,如果我想要剪辑中的特定部分,我只需更改脚本中的开始时间和持续时间。理想情况下,我想在 CLI 上手动输入开始时间和持续时间,但我只是将其简化为仅输入输出文件而无需额外的参数标志。

提供的这些标志和选项应该可以工作,但它很愚蠢,没有做它应该做的事情。

【问题讨论】:

    标签: video ffmpeg converter video-processing


    【解决方案1】:

    您正在使用dither,就像它是一个独立的过滤器一样,但它是paletteuse 的一个选项。将其更改为:

    #!/bin/sh 
    start_time=00:00                               # start time of GIF
    duration=5                                     # duration of GIF
    palette="/tmp/palette.png"                     # temporary palette
    filters="fps=20,scale=440:-1:flags=lanczos"    # FPS and Scale of GIF
    
    ffmpeg -y -v warning -ss "$start_time" -t "$duration" -i "$1" -vf "$filters,palettegen" "$palette"
    ffmpeg -y -v warning -ss "$start_time" -t "$duration" -i "$1" -i $palette -lavfi "$filters [x]; [x][1:v] paletteuse=dither=bayer:bayer_scale=1" "$2"
    

    【讨论】:

    • 我明白了...这似乎有效....我不明白它是如何像以前那样工作的,尽管它没有。 ://
    • @user94959 它以前不应该起作用,但我也不确定它会如何。
    猜你喜欢
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 2017-10-26
    • 2013-07-09
    相关资源
    最近更新 更多