Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 减少在同一命令中使用ffmpeg制作的视频的大小_Video_Ffmpeg - Fatal编程技术网

Video 减少在同一命令中使用ffmpeg制作的视频的大小

Video 减少在同一命令中使用ffmpeg制作的视频的大小,video,ffmpeg,Video,Ffmpeg,这是我的命令: ffmpeg -stream_loop -1 -f concat -i input.txt -i audio.mp3 -map 0:v -map 1:a -shortest output.mp4 它从多个视频中创建一个视频,并且可以正常工作,但是输出的视频大小太大,我的问题是如何获得一个小尺寸但不需要其他命令的视频。H.264 使用libx264编码时,请使用-crf和-preset: ffmpeg -stream_loop -1 -f concat -i input.txt

这是我的命令:

ffmpeg -stream_loop -1 -f concat -i input.txt -i audio.mp3 -map 0:v -map 1:a -shortest output.mp4
它从多个视频中创建一个视频,并且可以正常工作,但是输出的视频大小太大,我的问题是如何获得一个小尺寸但不需要其他命令的视频。

H.264 使用libx264编码时,请使用
-crf
-preset

ffmpeg -stream_loop -1 -f concat -i input.txt -i audio.mp3 -map 0:v -map 1:a -c:v libx264 -crf 29 -preset slower -shortest -movflags +faststart output.mp4
  • -crf
    使用提供可接受质量的最高值。默认值为23。值29应该小50%左右,但质量较低
  • -预设
    使用最慢的预设。默认值为
    medium
HEVC/H.265 文件大小应小于H.264,但编码速度较慢,并且您的播放器或设备可能不支持:

ffmpeg -stream_loop -1 -f concat -i input.txt -i audio.mp3 -map 0:v -map 1:a -c:v libx265 -crf 34 -preset slow -shortest -movflags +faststart output.mp4
  • libx265还使用
    -crf
    -preset
    ,但是
    -crf
    的值有些不同。看
强制输出文件大小 不能使用
-crf
预先确定文件大小。如果您需要将视频限制在一定大小以下,请使用。但是,这并不比
-crf
更好,而且速度更慢、更复杂,并且仅在需要特定大小的输出时使用

较小的宽度x高度(分辨率) 添加。使宽度x高度减小50%的示例:

ffmpeg -stream_loop -1 -f concat -i input.txt -i audio.mp3 -map 0:v -map 1:a -vf "scale=iw/2:ih/2" -c:v libx264 -crf 29 -preset slower -shortest -movflags +faststart output.mp4
当你说:“较小的大小”,你的意思是较小的文件大小?或更小的几何体(宽度和高度)?