[FFmpeg-trac] #846(undetermined:new): 'invalid public movie atom' when copying streams into a QuickTime file

FFmpeg trac at avcodec.org
Thu Dec 29 12:28:48 CET 2011


#846: 'invalid public movie atom' when copying streams into a QuickTime file
-------------------------------------+-------------------------------------
             Reporter:  dericed      |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
              Version:  git-master   |  undetermined
             Keywords:  mov cc       |               Resolution:
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * keywords:   => mov cc


Old description:

> My source video is here:
> http://www.capsubservices.com/files/Webcast%20--%20New%20Media%20Files/Test%20for%20Quicktime%20608%20CC%20file.mov
>
> I'm testing copying all streams from the input to the output with -map 0
> -c copy. The output plays ok in VLC, but when opened in QuickTime I get a
> 'An invalid public movie atom was found in the movie' error.
>
> {{{
> ffmpeg started on 2011-12-29 at 01:39:35
> Report written to "ffmpeg-20111229-013935.log"
> Command line:
> ffmpeg -y -report -i "Test for Quicktime 608 CC file.mov" -map 0 -c: copy
> out.mov
> ffmpeg version N-32546-g6071e4d, Copyright (c) 2000-2011 the FFmpeg
> developers
>   built on Dec 28 2011 21:57:53 with gcc 4.2.1 (Apple Inc. build 5666)
> (dot 3)
>   configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared
> --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables
> --enable-libopenjpeg --cc=/usr/bin/gcc-4.2 --enable-libx264 --enable-
> libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis
> --enable-libvpx --enable-libxvid --enable-libfreetype
>   libavutil      51. 33.100 / 51. 33.100
>   libavcodec     53. 49.100 / 53. 49.100
>   libavformat    53. 29.100 / 53. 29.100
>   libavdevice    53.  4.100 / 53.  4.100
>   libavfilter     2. 55.100 /  2. 55.100
>   libswscale      2.  1.100 /  2.  1.100
>   libswresample   0.  5.100 /  0.  5.100
>   libpostproc    51.  2.100 / 51.  2.100
> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd1b8826e00] Format mov,mp4,m4a,3gp,3g2,mj2
> probed with size=2048 and score=100
> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd1b8826e00] ISO: File Type Major Brand: qt
> [h264 @ 0x7fd1b882f400] err{or,}_recognition separate: 1; 1
> [h264 @ 0x7fd1b882f400] err{or,}_recognition combined: 1; 10001
> [aac @ 0x7fd1b8840c00] err{or,}_recognition separate: 1; 1
> [aac @ 0x7fd1b8840c00] err{or,}_recognition combined: 1; 10001
> [aac @ 0x7fd1b8840c00] Unsupported bit depth: 0
> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd1b8826e00] max_analyze_duration 5000000
> reached at 5015510
>
> Seems stream 0 codec frame rate differs from container frame rate:
> 5994.00 (5994/1) -> 29.97 (2997/100)
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Test for Quicktime 608 CC
> file.mov':
>   Metadata:
>     major_brand     : qt
>     minor_version   : 537199360
>     compatible_brands: qt
>     creation_time   : 2010-11-04 17:28:46
>   Duration: 00:00:28.39, start: 0.000000, bitrate: 1603 kb/s
>     Stream #0:0(eng), 135, 1/2997: Video: h264 (Constrained Baseline)
> (avc1 / 0x31637661), yuv420p, 640x360, 1485 kb/s, 29.97 fps, 29.97 tbr,
> 2997 tbn, 5994 tbc
>     Metadata:
>       creation_time   : 2010-11-04 17:28:46
>       handler_name    : Apple Alias Data Handler
>     Stream #0:1(eng), 218, 1/44100: Audio: aac (mp4a / 0x6134706D), 44100
> Hz, stereo, s16, 109 kb/s
>     Metadata:
>       creation_time   : 2010-11-04 17:28:46
>       handler_name    : Apple Alias Data Handler
>     Stream #0:2(eng), 122, 1/2997: Subtitle: none (c608 / 0x38303663)
>     Metadata:
>       creation_time   : 2010-11-04 17:28:46
>       handler_name    : Apple Alias Data Handler
> Output #0, mov, to 'out.mov':
>   Metadata:
>     major_brand     : qt
>     minor_version   : 537199360
>     compatible_brands: qt
>     creation_time   : 2010-11-04 17:28:46
>     encoder         : Lavf53.29.100
>     Stream #0:0(eng), 0, 1/2997: Video: h264 (avc1 / 0x31637661),
> yuv420p, 640x360, q=2-31, 1485 kb/s, 29.97 fps, 2997 tbn, 2997 tbc
>     Metadata:
>       creation_time   : 2010-11-04 17:28:46
>       handler_name    : Apple Alias Data Handler
>     Stream #0:1(eng), 0, 1/44100: Audio: aac (mp4a / 0x6134706D), 44100
> Hz, stereo, 109 kb/s
>     Metadata:
>       creation_time   : 2010-11-04 17:28:46
>       handler_name    : Apple Alias Data Handler
>     Stream #0:2(eng), 0, 1/2997: Subtitle: none (c608 / 0x38303663)
>     Metadata:
>       creation_time   : 2010-11-04 17:28:46
>       handler_name    : Apple Alias Data Handler
> Stream mapping:
>   Stream #0:0 -> #0:0 (copy)
>   Stream #0:1 -> #0:1 (copy)
>   Stream #0:2 -> #0:2 (copy)
> Press [q] to stop, [?] for help
> frame=  851 fps=  0 q=-1.0 Lsize=    5571kB time=00:00:27.62
> bitrate=1651.8kbits/s
> video:5147kB audio:379kB global headers:0kB muxing overhead 0.808748%
>
> }}}

New description:

 My source video is here:
 http://www.capsubservices.com/files/Webcast%20--%20New%20Media%20Files/Test%20for%20Quicktime%20608%20CC%20file.mov

 I'm testing copying all streams from the input to the output with -map 0
 -c copy. The output plays ok in VLC, but when opened in QuickTime I get a
 'An invalid public movie atom was found in the movie' error.

 {{{
 ffmpeg started on 2011-12-29 at 01:39:35
 Report written to "ffmpeg-20111229-013935.log"
 Command line:
 ffmpeg -y -report -i "Test for Quicktime 608 CC file.mov" -map 0 -c: copy
 out.mov
 ffmpeg version N-32546-g6071e4d, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on Dec 28 2011 21:57:53 with gcc 4.2.1 (Apple Inc. build 5666)
 (dot 3)
   configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared
 --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables
 --enable-libopenjpeg --cc=/usr/bin/gcc-4.2 --enable-libx264 --enable-
 libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis
 --enable-libvpx --enable-libxvid --enable-libfreetype
   libavutil      51. 33.100 / 51. 33.100
   libavcodec     53. 49.100 / 53. 49.100
   libavformat    53. 29.100 / 53. 29.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 55.100 /  2. 55.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0.  5.100 /  0.  5.100
   libpostproc    51.  2.100 / 51.  2.100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd1b8826e00] Format mov,mp4,m4a,3gp,3g2,mj2
 probed with size=2048 and score=100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd1b8826e00] ISO: File Type Major Brand: qt
 [h264 @ 0x7fd1b882f400] err{or,}_recognition separate: 1; 1
 [h264 @ 0x7fd1b882f400] err{or,}_recognition combined: 1; 10001
 [aac @ 0x7fd1b8840c00] err{or,}_recognition separate: 1; 1
 [aac @ 0x7fd1b8840c00] err{or,}_recognition combined: 1; 10001
 [aac @ 0x7fd1b8840c00] Unsupported bit depth: 0
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd1b8826e00] max_analyze_duration 5000000
 reached at 5015510

 Seems stream 0 codec frame rate differs from container frame rate: 5994.00
 (5994/1) -> 29.97 (2997/100)
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Test for Quicktime 608 CC
 file.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     creation_time   : 2010-11-04 17:28:46
   Duration: 00:00:28.39, start: 0.000000, bitrate: 1603 kb/s
     Stream #0:0(eng), 135, 1/2997: Video: h264 (Constrained Baseline)
 (avc1 / 0x31637661), yuv420p, 640x360, 1485 kb/s, 29.97 fps, 29.97 tbr,
 2997 tbn, 5994 tbc
     Metadata:
       creation_time   : 2010-11-04 17:28:46
       handler_name    : Apple Alias Data Handler
     Stream #0:1(eng), 218, 1/44100: Audio: aac (mp4a / 0x6134706D), 44100
 Hz, stereo, s16, 109 kb/s
     Metadata:
       creation_time   : 2010-11-04 17:28:46
       handler_name    : Apple Alias Data Handler
     Stream #0:2(eng), 122, 1/2997: Subtitle: none (c608 / 0x38303663)
     Metadata:
       creation_time   : 2010-11-04 17:28:46
       handler_name    : Apple Alias Data Handler
 Output #0, mov, to 'out.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     creation_time   : 2010-11-04 17:28:46
     encoder         : Lavf53.29.100
     Stream #0:0(eng), 0, 1/2997: Video: h264 (avc1 / 0x31637661), yuv420p,
 640x360, q=2-31, 1485 kb/s, 29.97 fps, 2997 tbn, 2997 tbc
     Metadata:
       creation_time   : 2010-11-04 17:28:46
       handler_name    : Apple Alias Data Handler
     Stream #0:1(eng), 0, 1/44100: Audio: aac (mp4a / 0x6134706D), 44100
 Hz, stereo, 109 kb/s
     Metadata:
       creation_time   : 2010-11-04 17:28:46
       handler_name    : Apple Alias Data Handler
     Stream #0:2(eng), 0, 1/2997: Subtitle: none (c608 / 0x38303663)
     Metadata:
       creation_time   : 2010-11-04 17:28:46
       handler_name    : Apple Alias Data Handler
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:1 -> #0:1 (copy)
   Stream #0:2 -> #0:2 (copy)
 Press [q] to stop, [?] for help
 frame=  851 fps=  0 q=-1.0 Lsize=    5571kB time=00:00:27.62
 bitrate=1651.8kbits/s
 video:5147kB audio:379kB global headers:0kB muxing overhead 0.808748%

 }}}

--

Comment:

 Isn't this a feature request for reading CC in mov?
 I may be wrong but I suspect that writing unknown codecs to mov is not
 guaranteed to work.

 Or is the problem also reproducible with -sn (or not reproducible with
 -acodec aac -vcodec mpeg4 -scodec copy)?

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/846#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list