【问题标题】:ffmpeg convertation image<->video causes artefactsffmpeg 转换图像<->视频导致伪影
【发布时间】:2016-03-24 21:10:08
【问题描述】:

我想将视频转换为图像,进行一些图像处理并将图像转换回视频。

这是我的命令:

./ffmpeg -r 30 -i $VIDEO_NAME "image%d.png"

./ffmpeg -r 30 -y -i "image%d.png" output.mpg

但在output.mpg 视频中我有一些人工制品like in jpeg

另外我不知道如何确定 fps,我设置了 fps=30 (-r 30)。 当我在没有-r 的情况下使用上面的第一个命令时,它会产生很多> 1kk 的图像,但是我使用-r 30 选项会产生与此命令计算帧数相同数量的图像:

FRAME_COUNT=`./ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 $VIDEO_NAME`

所以我的问题是:

  1. 如何确定帧率?

  2. 如何在不降低初始质量的情况下将图像转换为视频?

更新:

在我删除 -r 选项后,这似乎有所帮助 Image sequence to video quality

所以生成的命令是:

./ffmpeg -y -i "image%d.png" -vcodec mpeg4 -b $BITRATE output_$BITRATE.avi

但我仍然不确定如何选择比特率。

如何查看原始.mp4 文件的比特率?

【问题讨论】:

    标签: image video ffmpeg image-compression


    【解决方案1】:

    您可以使用qscale 参数代替比特率,例如

    ffmpeg -y -i "image%d.png" -vcodec mpeg4 -q:v 1 output_1.avi
    

    q:vqscale:v 的缩写。 1 可能会产生太大的文件。 4-6 是一个不错的使用范围。

    【讨论】:

    • 我可以看到原始.mp4文件的比特率吗?
    • 通过运行 ffprobe 并解析输出。
    猜你喜欢
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 2010-10-08
    相关资源
    最近更新 更多