当视频文件中的开始/持续时间混乱时,vcodec副本不起作用

时间:2014-01-22 07:47:48

标签: ffmpeg

我的视频文件使用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%

1 个答案:

答案 0 :(得分:2)

FFmpeg开发非常活跃

遇到问题时,最好从FFmpeg获取ffmpeg的新版本,以确保您没有遇到已修复的错误。

Ubuntu使用fork

Ubuntu不使用来自FFmpeg的ffmpeg,而是使用来自fork的旧假版本。见Who can tell me the difference and relation between ffmpeg, libav, and avconv?

获取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控制台输出。
  • 提供所有必要的样品。
  • 使用仍显示问题的minimal命令。
  • 提供对尝试复制问题的其他人有用的任何其他信息。