我正在运行 KUbuntu 11.10 Linux。
我想从 MP4 文件中提取剪辑。我尝试了这个命令:
myCLIPrompt:~/Downloads/temp/clips$ mencoder -ss 00:43:13 -endpos 00:02:12 -oac copy -ovc copy The.Original.Video.\[VTV\].mp4 -o TheClip.mp4
我收到了这个错误信息:
MEncoder SVN-r33713-4.6.1 (C) 2000-2011 MPlayer Team
WARNING: OUTPUT FILE FORMAT IS _AVI_. See -of help.
success: format: 0 data: 0x0 - 0x19148a83
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO: [H264] 720x404 24bpp 29.970 fps 843.8 kbps (103.0 kbyte/s)
[V] filefmt:44 fourcc:0x34363248 size:720x404 fps:29.970 ftime:=0.0334
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 143.0 kbit/9.31% (ratio: 17880->192000)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
videocodec: framecopy (720x404 24bpp fourcc=34363248)
Audio format 0x4134504d is incompatible with '-oac copy', please try '-oac pcm' instead or use '-fafmttag' to override it.
Exiting...
我该如何以正确的方式做这件事?
提前致谢
史蒂夫
答案1
使用avconv
。例如,如果你想从 15 秒开始提取时长为 10 秒的剪辑,那么你可以使用
avconv -i input.mp4 -ss 00:00:15 -t 00:00:10 -codec copy output.mp4
您可以使用更多选项,例如指定分辨率、输出格式等。avconv
有关所有选项,请参阅手册页。
如果你碰巧有,ffmpeg
你可以使用
ffmpeg -i input.mp4 -ss 00:00:15 -t 00:00:10 -c:v copy -c:a copy output.mp4
答案2
在 Google 上搜索我的 ffmpeg 命令应该是这样的
ffmpeg -i InputFile -ss StartTime -t Duration Outputfiless
ffmpeg -i input.mp4 -ss 00:07:38 -t 00:07:36 output.mp4
-ss 表示视频中剪辑的开始时间,-t 表示剪辑的持续时间。分钟或秒的单位不得超过 60。例如,如果持续时间为 6 分 62 秒,则写为 07:02,表示七分零二秒
我加入了 ffmpeg-users GNUMailman 电子邮件列表。有人告诉我,Ubuntu 系列发行版使用的是旧的、有缺陷的、不受支持的 ffmpeg 端口。
http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html
https://stackoverflow.com/a/9477756/1109017
有人告诉我,如果我想让 ffmpeg 在最新的 Ubuntu 系列发行版上运行,我需要直接从 ffmpeg 项目获取源代码,然后自行编译和设置。
https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
高血压
史蒂夫