问题描述
如果我有一个视频,通常是avi,但可能是任何一个,我想以相同的格式创建另一个视频,但只是一个部分,在视频中我的秒数到f秒,one-line命令是做什么的?
最佳解决办法
这可以使用mencoder
和ffmpeg
完成。
mencoder
假设您要将从00:00:30开始的部分剪切成原始文件,长度为5秒,并且不应该重新编码(如果您想要re-encode,则必须将copy
替换为音频和视频编解码器,有关可用音频编解码器列表问题mencoder -oac help
,有关可用视频编解码器列表问题mencoder -ovc help
),请您发出:
mencoder -ss 00:30:00 -endpos 00:00:05 -oac copy -ovc copy originalfile -o newfile
您必须将orginalfile
和newfile
替换为实际文件名,后者是为保存剪切部分而创建的文件的名称。
ffmpeg
假设您要将从00:00:30开始的部分剪切成原始文件,长度为5秒,并且它不应该是re-encoded(如果您想要re-encode,则必须将copy
替换为音频和视频编解码器,有关可用编解码器列表问题ffmpeg -formats -E
),然后您发出:
ffmpeg -ss 00:00:30 -i orginalfile -t 00:00:05 -vcodec copy -acodec copy newfile
您必须将orginalfile
和newfile
替换为实际文件名,后者是为保存剪切部分而创建的文件的名称。
有关参考,请参阅http://segfault.in/2010/10/ffmpeg-tricks-you-中的http://lazyxiong-tech.blogspot.com/2007/05/using-mencoder-to-cut-out-pieces-of.html和“7.仅复制视频的一部分” – should-know-about /
次佳解决办法
您需要使用re-encoding还是不使用re-encoding模式切换视频?您可以尝试按照以下命令。
简介:ffmpeg -i [input_file] -ss [start_seconds] -t [duration_seconds] [output_file]
在没有re-encoding的情况下使用FFmpeg cut mp4视频
Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -c copy cut_video.mp4
使用FFmpeg使用re-encoding剪切mp4视频
Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -async 1 -strict -2 cut_video.mp4
如果要从头开始切断部分,只需从命令中删除-t 00:00:10
即可