我的视频文件使用ffprobe / ffmpeg显示以下元数据:
Duration: 00:44:27.52, start: 1333.760000, bitrate: 335 kb/s
Stream #0.0(und): Video: h264 (Main), yuv420p, 640x480, 25 tbr, 90k tbn, 50 tbc
注意:该文件不包含音频。
我正在尝试使用ffmpeg / avconv将此视频文件转换为其他视频文件。
这有效:(但是将h.264视频编码为mpeg4)
ffmpeg -i input.mp4 output.mp4
&安培;它会生成适当持续时间的输出文件(44:27 - 1333秒= 22:14)
这不起作用:
ffmpeg -i input.mp4 -vcodec copy output.mp4
生成没有视频的文件。
输出包含:
$ avconv -i input.mp4 -vcodec copy output.mp4
avconv version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
built on Nov 9 2013 19:09:46 with gcc 4.8.1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6avc1mp41
creation_time : 2014-01-19 22:43:21
Duration: 00:44:27.52, start: 1333.760000, bitrate: 335 kb/s
Stream #0.0(und): Video: h264 (Main), yuv420p, 640x480, 25 tbr, 90k tbn, 50 tbc
Metadata:
creation_time : 2014-01-19 22:43:21
Output #0, mp4, to 'output.mp4':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6avc1mp41
creation_time : 2014-01-19 22:43:21
encoder : Lavf53.21.1
Stream #0.0(und): Video: ![0][0][0] / 0x0021, yuv420p, 640x480, q=2-31, 90k tbn, 90k tbc
Metadata:
creation_time : 2014-01-19 22:43:21
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press ctrl-c to stop encoding
frame= 0 fps= 0 q=-1.0 Lsize= 0kB time=10000000000.00 bitrate= 0.0kbits/s
video:0kB audio:0kB global headers:0kB muxing overhead inf%
答案 0 :(得分:2)
遇到问题时,最好从FFmpeg获取ffmpeg
的新版本,以确保您没有遇到已修复的错误。
Ubuntu不使用来自FFmpeg的ffmpeg
,而是使用来自fork的旧假版本。见Who can tell me the difference and relation between ffmpeg, libav, and avconv?
ffmpeg
你可以:
ffmpeg
或ffmpeg
。构建很简单。您只需下载,解压缩并执行(注意./
之前的ffmpeg
):
wget http://ffmpeg.gusari.org/static/32bit/ffmpeg.static.32bit.$(date +"%F").tar.gz
tar xzvf ffmpeg.static.32bit.$(date +"%F").tar.gz
./ffmpeg -i input -codec copy -map 0 output
编译ffmpeg
可让您根据自己的喜好自定义它。编译指南是非侵入性的,易于撤消。
如果最近的版本仍然存在可疑错误,那么您可以在ffmpeg-user mailing list获取帮助,或者在FFmpeg Bug Tracker执行搜索并报告它是否是新错误。如果您报告错误,请确保:
ffmpeg
命令和完整的ffmpeg
控制台输出。