ffmpeg的:前和转换后的视频是不一样的长度(ffmpeg: videos before and

2019-07-30 09:46发布

我有一组需要转换为.MP4​​格式.MOV视频。 我使用的ffmpeg,并运行此命令:

ffmpeg -i Banking.mov -vsync -async -sameq -ac 1 -ab 64k -ar 44100 Banking.mp4

有在时间长度输入和输出视频之间的轻微差异(00:03:35.407和00:03:35.582)。 而这里的渔获物 - 我存储时间的提示设定在用于通过程序在特定的场景点在一个文件中精确的时间。 0.1第二差导致它在错场景点,因此使得球杆设置无用。 有没有可能保留恰好不同格式的同一时间?

   FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice BellardMac OSX universal build for ffmpegX
  configuration:  --enable-memalign-hack --enable-mp3lame --enable-gpl --disable-vhook --disable-ffplay --disable-ffserver --enable-a52 --enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-amr_wb --enable-pthreads --enable-x264 
  libavutil version: 49.0.0
  libavcodec version: 51.9.0
  libavformat version: 50.4.0
  built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5597b8]negative ctts, ignoring
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Banking.mov':
  Duration: 00:03:35.6, start: 0.000000, bitrate: 1400 kb/s
  Stream #0.0(eng): Audio: pcm_s16be, 24000 Hz, stereo, 768 kb/s
  Stream #0.1(eng), 29.97 fps(r): Video: h264, yuv420p, 720x480
Output #0, mp4, to 'Banking.mp4':
  Stream #0.0, 29.97 fps(c): Video: mpeg4, yuv420p, 720x480, q=2-31, 200 kb/s
  Stream #0.1: Audio: aac, 44100 Hz, mono, 64 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
Press [q] to stop encoding
frame= 6461 q=0.0 Lsize=   53181kB time=215.3 bitrate=2023.3kbits/s    
video:51437kB audio:1618kB global headers:0kB muxing overhead 0.237816%

Answer 1:

长35.6分钟:从你的FFmpeg的输出来看,它看到了输入文件为3:

输入#0,MOV,MP4,M4A,3GP,3G2,MJ2,从'Banking.mov': 时间:00:03:35.6

因此,在时间差似乎是FFmpeg的是如何看待你的文件,没有什么直接关系到它的它转码。 你是如何测量的时间来获得00:03:35.407?

这就是说,一些意见:

  • 由于您的总体目标是容器格式,为什么不直接而准确地复制视频和音频数据的只是转换:

     ffmpeg -i Banking.mov -codec copy Banking.mp4 

    这应该很好地保留了一切。

  • 根据该文件 , -vsync-async各带一个参数,所以没有任何可能没有帮助任何东西。 (虽然你的FFmpeg的版本是有点老,或许这是该版本的正确使用,我没有看到在输出的任何错误。)

  • 关于这一点,有没有您使用的是六岁构建的FFmpeg的原因是什么? 你一定会得到更好的支持,并与一个较新的版本可能更好的结果。



文章来源: ffmpeg: videos before and after conversion aren't the same length
标签: ffmpeg mp4 mov