ffmpeg转换图像< - >视频导致伪影

时间:2016-03-24 12:19:22

标签: image video ffmpeg image-compression

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

这是我的命令:

./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. 如何将图片转换为视频而不降低初始质量?

  3. 更新

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

    所以结果命令是:

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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