New submission from Dave Rice <[email protected]>:

When utilizing -vcodec copy from and to Quicktime container there is a slight
duration discrepancy. Uploaded files to mplayer ftp in stts_copy directory. I
only uploaded the files referred to in the first test since they were smaller,
but can provide more if helpful.

Command used: 

ffmpeg -y -i stts_copy.mov -vcodec copy -an stts_copy_out.mov
FFmpeg version SVN-r25455, Copyright (c) 2000-2010 the FFmpeg developers
  built on Oct 12 2010 17:06:38 with gcc 4.2.1 (Apple Inc. build 5664)
  configuration: --enable-libopenjpeg
  libavutil     50.32. 3 / 50.32. 3
  libavcore      0. 9. 1 /  0. 9. 1
  libavcodec    52.92. 0 / 52.92. 0
  libavformat   52.81. 0 / 52.81. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.51. 1 /  1.51. 1
  libswscale     0.12. 0 /  0.12. 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10100b000] Could not find codec parameters (Data:
c608 / 0x38303663, 3 kb/s)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10100b000] Could not find codec parameters (Data:
tmcd / 0x64636D74, 0 kb/s)

Seems stream 0 codec frame rate differs from container frame rate: 2997.00
(2997/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'stts_copy.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
  Duration: 00:00:09.95, start: 0.040374, bitrate: 3070 kb/s
    Stream #0.0(eng): Video: v210, yuv422p16le, 720x486, 171765 kb/s, 23.01 fps,
29.97 tbr, 2997 tbn, 2997 tbc
    Stream #0.1(eng): Data: c608 / 0x38303663, 3 kb/s
    Stream #0.2(eng): Audio: pcm_s24le, 48000 Hz, 1 channels, s32, 1152 kb/s
    Stream #0.3(eng): Audio: pcm_s24le, 48000 Hz, 1 channels, s32, 1152 kb/s
    Stream #0.4(eng): Audio: pcm_s24le, 48000 Hz, 1 channels, s32, 1152 kb/s
    Stream #0.5(eng): Audio: pcm_s24le, 48000 Hz, 1 channels, s32, 1152 kb/s
    Stream #0.6(eng): Data: tmcd / 0x64636D74, 0 kb/s
Output #0, mov, to 'stts_copy_out.mov':
  Metadata:
    encoder         : Lavf52.81.0
    Stream #0.0(eng): Video: v210, yuv422p16le, 720x486, q=2-31, 171765 kb/s,
2997 tbn, 2997 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
frame=    4 fps=  0 q=-1.0 Lsize=    3646kB time=0.14 bitrate=212101.6kbits/s   
 
video:3645kB audio:0kB global headers:0kB muxing overhead 0.018915%


Both source and output files are 4 frames.
In source the duration of each frame is:
frame1 = 221/2997
frame2 = 100/2997
frame3 = 100/2997
frame4 = 100/2997

In output file:
frame1 = 221/2997
frame2 = 100/2997
frame3 = 100/2997
frame4 = 221/2997

Thus the video track of the output is 121/2997 longer than the original.


In a second test, I transcoded a v210 Quicktime file to an ffv1 Quicktime file.
In the input the frameDurations are:
frame1 = 221/2997
subsequent_frames = 100/2997

In the output the frame durations are:
frame1 = 2002/30000 (time scale change and frame duration rounding?)
subsequent_frames = 1001/30000

ffmpeg -i DHC36.v210.pcm.mov -coder 1 -vcodec ffv1 -an out.mov
FFmpeg version SVN-r25455, Copyright (c) 2000-2010 the FFmpeg developers
  built on Oct 12 2010 17:06:38 with gcc 4.2.1 (Apple Inc. build 5664)
  configuration: --enable-libopenjpeg
  libavutil     50.32. 3 / 50.32. 3
  libavcore      0. 9. 1 /  0. 9. 1
  libavcodec    52.92. 0 / 52.92. 0
  libavformat   52.81. 0 / 52.81. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.51. 1 /  1.51. 1
  libswscale     0.12. 0 /  0.12. 0

Seems stream 0 codec frame rate differs from container frame rate: 2997.00
(2997/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'DHC36.v210.pcm.mov':
  Duration: 00:00:09.98, start: 0.040375, bitrate: 228970 kb/s
    Stream #0.0(eng): Video: v210, yuv422p16le, 720x486, 222820 kb/s, 29.85 fps,
29.97 tbr, 2997 tbn, 2997 tbc
    Stream #0.1(eng): Data: c608 / 0x38303663, 4 kb/s
    Stream #0.2(eng): Audio: pcm_s24le, 48000 Hz, 1 channels, s32, 1152 kb/s
    Stream #0.3(eng): Audio: pcm_s24le, 48000 Hz, 1 channels, s32, 1152 kb/s
    Stream #0.4(eng): Audio: pcm_s24le, 48000 Hz, 1 channels, s32, 1152 kb/s
    Stream #0.5(eng): Audio: pcm_s24le, 48000 Hz, 1 channels, s32, 1152 kb/s
    Stream #0.6(eng): Data: tmcd / 0x64636D74, 0 kb/s
File 'out.mov' already exists. Overwrite ? [y/N] y
[buffer @ 0x100c02960] w:720 h:486 pixfmt:yuv422p16le
[mov @ 0x10102ac00] Warning, using MS style video codec tag, the file may be
unplayable!
Output #0, mov, to 'out.mov':
  Metadata:
    encoder         : Lavf52.81.0
    Stream #0.0(eng): Video: ffv1, yuv422p16le, 720x486, q=2-31, 200 kb/s, 30k
tbn, 29.97 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
frame=  298 fps=  9 q=0.0 Lsize=  105405kB time=9.98 bitrate=86550.1kbits/s    
video:105402kB audio:0kB global headers:0kB muxing overhead 0.002948%

----------
messages: 12254
priority: normal
status: new
substatus: new
title: frames duration inconsistency
type: bug

________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2296>
________________________________________________

Reply via email to