Opened 13 years ago
Closed 13 years ago
#2892 closed defect (fixed)
Setting mov timecode fails when remuxing mpegvideo because of high tbc value
| Reported by: | Michael Orton | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avformat |
| Version: | git-master | Keywords: | mov |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
A longstanding bug in determining the tbn value for an mpeg source now prevents adding timecode to imx MOV format
How to reproduce:
% ffmpeg.exe -i test.mov -c:v copy -c:a copy -vtag mx3n -timecode 10:00:00:00 out.mov
ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Mar 28 2013 00:28:48 with gcc 4.8.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg
sm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libo
pencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-li
bschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-lib
twolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enabl
e-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
creation_time : 1970-01-01 00:00:00
Duration: 00:00:30.03, start: 0.000000, bitrate: 32315 kb/s
Stream #0:0(eng): Video: mpeg2video (4:2:2) (mx3n / 0x6E33786D), yuv422p, 72
0x512 [SAR 128:135 DAR 4:3], 30006 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : Apple Alias Data Handler
timecode : 00:00:10;00
Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32, 2304 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : Apple Alias Data Handler
Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:
creation_time : 2013-02-07 15:58:36
handler_name : Apple Alias Data Handler
timecode : 00:00:10;00
Output #0, mov, to 'out.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
timecode : 10:00:00:00
encoder : Lavf54.63.104
Stream #0:0(eng): Video: mpeg2video (mx3n / 0x6E33786D), yuv422p, 720x512 [S
AR 128:135 DAR 4:3], q=2-31, 30006 kb/s, 29.97 fps, 30k tbn, 30k tbc
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : Apple Alias Data Handler
timecode : 00:00:10;00
Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, 23
04 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : Apple Alias Data Handler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 626 fps=0.0 q=-1.0 size= 78835kB time=00:00:20.85 bitrate=30968.0kbits
fps 30000 is too large
frame= 900 fps=0.0 q=-1.0 Lsize= 118466kB time=00:00:30.03 bitrate=32316.7kbits/s
video:109998kB audio:8446kB subtitle:0 global headers:0kB muxing overhead 0.018463%
ffmpeg version
built on ...
Thanks in advance
m
Change History (11)
follow-up: 2 comment:1 by , 13 years ago
comment:2 by , 13 years ago
Replying to cehoyos:
Please test current git head and please provide the input sample.
Thanks,
current git here below. Where to send 118MB test file?
ffmpeg.exe -i test.mov -c:v copy -c:a copy -vtag mx3n -timecode 10:00:00:00 out.mov
ffmpeg version N-55721-gc443689 Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 22 2013 18:59:54 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
libavutil 52. 42.100 / 52. 42.100
libavcodec 55. 29.100 / 55. 29.100
libavformat 55. 14.102 / 55. 14.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.102 / 3. 82.102
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
creation_time : 1970-01-01 00:00:00
Duration: 00:00:30.03, start: 0.000000, bitrate: 32315 kb/s
Stream #0:0(eng): Video: mpeg2video (4:2:2) (mx3n / 0x6E33786D), yuv422p, 72
0x512 [SAR 128:135 DAR 4:3], 30006 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : Apple Alias Data Handler
timecode : 00:00:07;00
Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32, 2304 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : Apple Alias Data Handler
Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:
creation_time : 2013-02-07 15:40:51
handler_name : Apple Alias Data Handler
timecode : 00:00:07;00
Output #0, mov, to 'out.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
timecode : 10:00:00:00
encoder : Lavf55.14.102
Stream #0:0(eng): Video: mpeg2video (mx3n / 0x6E33786D), yuv422p, 720x512 [SAR 128:135 DAR 4:3], q=2-31, 30006 kb/s, 29.97 fps, 30k tbn, 30k tbc
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : Apple Alias Data Handler
timecode : 00:00:07;00
Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, 2304 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : Apple Alias Data Handler
Stream mapping:
Press [q] to stop, ? for help
frame= 660 fps=0.0 q=-1.0 size= 84363kB time=00:00:21.98 bitrate=31430.0kbits
fps 30000 is too large
frame= 900 fps=0.0 q=-1.0 Lsize= 118466kB time=00:00:30.03 bitrate=32316.6kbits/s
video:109998kB audio:8446kB subtitle:0 global headers:0kB muxing overhead 0.018463%
comment:4 by , 13 years ago
Uploaded file MPEG_tbn_test.mov and explanatory MPEG_tbn_test.rtf @ 15:30 PST
comment:5 by , 13 years ago
| Summary: | MPEG tbn value incorrectly evaluated: causes MOV wrap to fail → MPEG tbn value incorrectly evaluated: causes MOV remuxing to fail |
|---|
Could you elaborate why you think that remuxing fails? It succeeds here (as in your examples above).
Please do not use "to wrap" for "muxing": Wrapping in combination with MPEG streams usually has another meaning (timestamp wraps) and made understanding your original report very difficult.
comment:6 by , 13 years ago
| Keywords: | mov mpegps added |
|---|---|
| Summary: | MPEG tbn value incorrectly evaluated: causes MOV remuxing to fail → Setting mov timecode fails when remuxing from mpegps because of high tbc value |
| Version: | unspecified → git-master |
comment:7 by , 13 years ago
Could you test if the following command works as expected?
$ ffmpeg -i MPEG_tbn_test.mov -c:v copy -c:a copy -vtag mx3n -timecode 10:00:00:00 -r 30 out.mov
comment:8 by , 13 years ago
Yes, using either -r 30 or -r 29.97 allows the muxing to proceed to completion. Have also checked PAL IMX (-vtag mx3p -r 25) and the -r switch also works there as well.
tbn still showing quite incorrect value (12800 in PAL), but the workaround is more than adequate, and files play correctly, thank you.
comment:11 by , 13 years ago
| Component: | undetermined → avformat |
|---|---|
| Keywords: | mpegps removed |
| Resolution: | → fixed |
| Status: | new → closed |
| Summary: | Setting mov timecode fails when remuxing from mpegps because of high tbc value → Setting mov timecode fails when remuxing mpegvideo because of high tbc value |
Fixed by Michael in 2501f6d.



Please test current git head and please provide the input sample.