我有一个大的 MP4 文件。我正在尝试将其拆分为较小的文件。
ffmpeg -i largefile.mp4 -sameq -ss 00:00:00 -t 00:50:00 smallfile.mp4
Run Code Online (Sandbox Code Playgroud)
我认为使用 -sameq 会保持相同的质量设置。但是,我一定不明白那是做什么的。
我希望与拆分文件保持相同的质量(音频/视频)和压缩。但是,此设置使拆分文件更大。
我需要设置什么标志才能在拆分文件中保持相同的质量和属性,同时保持相同的质量与大小比?
例如,如果我的原始文件大小约为 12 GB,大小为 1920x1080,比特率为 10617kbps,帧率为 23 帧/秒,6 声道音频为 317kbps,我希望拆分文件的大小仅为此大小的三分之一(如果我把它分成三块)。
fid*_*eli 107
如果您只想分割视频而不重新编码,请使用copy
音频和视频编解码器。尝试这个:
ffmpeg -ss 00:00:00 -t 00:50:00 -i largefile.mp4 -acodec copy \
-vcodec copy smallfile.mp4
Run Code Online (Sandbox Code Playgroud)
请注意,这只会创建第一个拆分。下一个可以使用以 开头的命令来完成ffmpeg -ss 00:50:00
。
这可以通过一个命令来完成:
ffmpeg -i largefile.mp4 -t 00:50:00 -c copy smallfile1.mp4 \
-ss 00:50:00 -c copy smallfile2.mp4
Run Code Online (Sandbox Code Playgroud)
这将创建smallfile1.mp4
,在 50 分钟处结束largefile.mp4
,并且smallfile2.mp4
,从 50 分钟开始到largefile.mp4
.
小智 11
一个备用这样做的方法是:
创建一个 2 分钟的剪辑,10 分钟后开始:
ffmpeg -i input.mp4 -ss 00:10:00 -to 00:12:00 -c copy output.mp4
Run Code Online (Sandbox Code Playgroud)
-i
输入文件-ss
以秒或 hh:mm:ss 为单位的开始时间-to
以秒或 hh:mm:ss 为单位的结束时间-c
要使用的编解码器文件的质量保持不变,因为我们使用-c copy
将原始音频 + 视频流复制到输出。
参考,常用FFmpeg命令列表:DigitalFortress