[FFmpeg-user] How to access H.264 MP4 timecode data

Francois Visagie francois.visagie at gmail.com
Wed Feb 5 15:35:38 CET 2014


> -----Original Message-----
> From: ffmpeg-user-bounces at ffmpeg.org [mailto:ffmpeg-user-
> bounces at ffmpeg.org] On Behalf Of Rio Kierkels
> Sent: 03 February 2014 12:43
> To: FFmpeg user questions
> Subject: Re: [FFmpeg-user] How to access H.264 MP4 timecode data
> 
> On 3 February 2014 07:06, Francois Visagie
> <francois.visagie at gmail.com>wrote:
> 
> > > -----Original Message-----
> > > From: ffmpeg-user-bounces at ffmpeg.org [mailto:ffmpeg-user-
> > > bounces at ffmpeg.org] On Behalf Of Rio Kierkels
> > > Sent: 31 January 2014 17:57
> > > To: FFmpeg user questions
> > > Subject: Re: [FFmpeg-user] How to access H.264 MP4 timecode data
> > >
> > > On 31 January 2014 16:46, Francois Visagie
> > > <francois.visagie at gmail.com>wrote:
> > >
> > > > > -----Original Message-----
> > > > > From: ffmpeg-user-bounces at ffmpeg.org [mailto:ffmpeg-user-
> > > > > bounces at ffmpeg.org] On Behalf Of Rio Kierkels
> > > > > Sent: 31 January 2014 17:29
> > > > > To: FFmpeg user questions
> > > > > Subject: Re: [FFmpeg-user] How to access H.264 MP4 timecode data
> > > > >
> > > > > On 31 January 2014 16:22, Francois Visagie
> > > > > <francois.visagie at gmail.com>wrote:
> > > > >
> > > > > > Hi All,
> > > > > >
> > > > > >
> > > > > >
> > > > > > I'm trying to access the timecode information stored by my
> > > > > > camcorder,
> > > > but
> > > > > > not having any luck. The camera is set to H.264 MP4 recording
> > > > > > in this
> > > > case.
> > > > > > According to ExifTool as well as ffprobe and ffmpeg the
> > > > > > timecode data
> > > > is
> > > > > > present, but I haven't been able to find a way to extract it.
> > > > > >
> > > > > >
> > > > > >
> > > > > > According to the ffprobe manual:
> > > > > >
> > > > > > ffprobe supports Timecode extraction:
> > > > > >
> > > > > > *       .
> > > > > > *       MOV timecode is extracted from tmcd track, so is
available
> > in
> > > > the
> > > > > > tmcd stream metadata ('-show_streams', see TAG:timecode).
> > > > > >
> > > > > > I would expect this to extract the timecode stream, but only 1
> > > > > TAG:timecode
> > > > > > value is printed. Also, the "unsupported codec" message does
> > > > > > not
> > > > inspire
> > > > > > much confidence that this actually can work:
> > > > > >
> > > > > >
> > > > > >
> > > > > > C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata
> > > > > > subtitles>ffprobe -i MVI_0006.MP4 -select_streams 2
> > > > > > subtitles>-show_streams
> > > > > >
> > > > > > ffprobe version N-54277-gff130d7 Copyright (c) 2007-2013 the
> > > > > > FFmpeg developers
> > > > > >
> > > > > >   built on Jun 30 2013 01:20:12 with gcc 4.7.3 (GCC)
> > > > > >
> > > > > >   configuration: --enable-gpl --enable-version3
> > > > > > --disable-w32threads --enable-avisynth --enable-bzlib
> > > > > > --enable-fontconfig --enable-frei0r --enable-gnutls --enab
> > > > > >
> > > > > > le-iconv --enable-libass --enable-libbluray --enable-libcaca
> > > > > > --enable-libfreetype --enable-libgsm --enable-libilbc
> > > > --enable-libmodplug
> > > > > > --enable-libmp3lame --ena
> > > > > >
> > > > > > ble-libopencore-amrnb --enable-libopencore-amrwb
> > > > > > --enable-libopenjpeg --enable-libopus --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. 37.101 / 52. 37.101
> > > > > >
> > > > > >   libavcodec     55. 17.100 / 55. 17.100
> > > > > >
> > > > > >   libavformat    55. 10.100 / 55. 10.100
> > > > > >
> > > > > >   libavdevice    55.  2.100 / 55.  2.100
> > > > > >
> > > > > >   libavfilter     3. 77.101 /  3. 77.101
> > > > > >
> > > > > >   libswscale      2.  3.100 /  2.  3.100
> > > > > >
> > > > > >   libswresample   0. 17.102 /  0. 17.102
> > > > > >
> > > > > >   libpostproc    52.  3.100 / 52.  3.100
> > > > > >
> > > > > > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MP4':
> > > > > >
> > > > > >   Metadata:
> > > > > >
> > > > > >     major_brand     : mp42
> > > > > >
> > > > > >     minor_version   : 1
> > > > > >
> > > > > >     compatible_brands: mp42avc1CAEP
> > > > > >
> > > > > >     creation_time   : 2014-01-30 17:57:13
> > > > > >
> > > > > >     timecode        : 11:54:27:03
> > > > > >
> > > > > >   Duration: 00:00:03.84, start: 0.000000, bitrate: 35109 kb/s
> > > > > >
> > > > > >     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661),
> > > > > > yuv420p, 1920x1080, 34508 kb/s, 50 fps, 50 tbr, 50k tbn, 100k
> > > > > > tbc
> > > > > >
> > > > > >     Metadata:
> > > > > >
> > > > > >       creation_time   : 2014-01-30 17:57:13
> > > > > >
> > > > > >     Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000
> > > > > > Hz, stereo, fltp, 253 kb/s
> > > > > >
> > > > > >     Metadata:
> > > > > >
> > > > > >       creation_time   : 2014-01-30 17:57:13
> > > > > >
> > > > > >     Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s
> > > > > >
> > > > > >     Metadata:
> > > > > >
> > > > > >       creation_time   : 2014-01-30 17:57:13
> > > > > >
> > > > > >       timecode        : 11:54:27:03
> > > > > >
> > > > > > Unsupported codec with id 0 for input stream 2
> > > > > >
> > > > > > [STREAM]
> > > > > >
> > > > > > index=2
> > > > > >
> > > > > > codec_name=unknown
> > > > > >
> > > > > > codec_long_name=unknown
> > > > > >
> > > > > > profile=unknown
> > > > > >
> > > > > > codec_type=data
> > > > > >
> > > > > > codec_time_base=1/25
> > > > > >
> > > > > > codec_tag_string=tmcd
> > > > > >
> > > > > > codec_tag=0x64636d74
> > > > > >
> > > > > > id=N/A
> > > > > >
> > > > > > r_frame_rate=0/0
> > > > > >
> > > > > > avg_frame_rate=0/0
> > > > > >
> > > > > > time_base=1/50000
> > > > > >
> > > > > > start_pts=0
> > > > > >
> > > > > > start_time=0.000000
> > > > > >
> > > > > > duration_ts=192000
> > > > > >
> > > > > > duration=3.840000
> > > > > >
> > > > > > bit_rate=1600
> > > > > >
> > > > > > nb_frames=192
> > > > > >
> > > > > > nb_read_frames=N/A
> > > > > >
> >>
> >>
> >> > > > > nb_read_packets=N/A
> >
> > > > > >
> >
> > > > > > DISPOSITION:default=0
> >
> > > > > >
> > > > > > DISPOSITION:dub=0
> > > > > >
> > > > > > DISPOSITION:original=0
> > > > > >
> > > > > > DISPOSITION:comment=0
> > > > > >
> > > > > > DISPOSITION:lyrics=0
> > > > > >
> > > > > > DISPOSITION:karaoke=0
> > > > > >
> > > > > > DISPOSITION:forced=0
> > > > > >
> > > > > > DISPOSITION:hearing_impaired=0
> > > > > >
> > > > > > DISPOSITION:visual_impaired=0
> > > > > >
> > > > > > DISPOSITION:clean_effects=0
> > > > > >
> > > > > > DISPOSITION:attached_pic=0
> > > > > >
> > > > > > TAG:creation_time=2014-01-30 17:57:13
> > > > > >
> > > > > > TAG:language=eng
> > > > > >
> > > > > > TAG:timecode=11:54:27:03
> > > > > >
> > > > > > [/STREAM]
> > > > > >
> > > > > >
> > > > > >
> > > > > > How do I go beyond this to extract the full tmcd stream?
> > > > > > 'ffprobe -i
> > > > > > MVI_0006.MP4 -select_streams 2 -show_packets -show_data '
> > > produces
> > > > > output
> > > > > > like:
> > > > > >
> > > > > > [PACKET]
> > > > > >
> > > > > > codec_type=data
> > > > > >
> > > > > > stream_index=2
> > > > > >
> > > > > > pts=191000
> > > > > >
> > > > > > pts_time=3.820000
> > > > > >
> > > > > > dts=191000
> > > > > >
> > > > > > dts_time=3.820000
> > > > > >
> > > > > > duration=1000
> > > > > >
> > > > > > duration_time=0.020000
> > > > > >
> > > > > > convergence_duration=N/A
> > > > > >
> > > > > > convergence_duration_time=N/A
> > > > > >
> > > > > > size=4
> > > > > >
> > > > > > pos=14832527
> > > > > >
> > > > > > flags=K
> > > > > >
> > > > > > data=
> > > > > >
> > > > > > 00000000: 0031 507d                                .1P}
> > > > > >
> > > > > >
> > > > > >
> > > > > > Is the '0031 507d' what I'm looking for, and if so, how to
> > > > > > interpret
> > > > that?
> > > > > > Alternatively, if I'm barking up the wrong tree please point
> > > > > > me to the right one!
> > > > > >
> > > > > >
> > > > > >
> > > > > > Many thanks,
> > > > > >
> > > > > > Francois
> > > > > >
> > > > > >
> > > > > >
> > > > > > Francois Visagie
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > T: +27 (83) 326-4358
> > > > > >
> > > > > > F: +27 (86) 511-3490
> > > > > >
> > > > > > E: francois.visagie at gmail.com
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > _______________________________________________
> > > > > > ffmpeg-user mailing list
> > > > > > ffmpeg-user at ffmpeg.org
> > > > > > http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > > > > >
> > > > >
> > > > > I don't think the data stream is what you need. Essentially
> > > > > you've
> > > > already
> > > > > got the timecode.
> > > > >
> > > > > TAG:timecode=11:54:27:03
> > > > >
> > > > > This gives you the starting time code of the first frame of your
> > video.
> > > > > This combined with the frame rate and video length is enough to
> > > > > set time code for your entire file.
> > > > >
> > > >
> > > > I'm aware of this approach and am considering it for other
> > > > applications, but for this one it has some drawbacks. It requires
> > > > additional steps to recreate the rest of the (existing) timecode
> > > > stream, and mainly it cannot account for editing discontinuities.
> > > > Thanks for the suggestion, though!
> > > >
> > >
> > > I don't think you can extract timecode to a single file without video.
> > > You'd have to convert it to a more edit friendly video format like
> > > DNxHD
> > or
> > > ProRes and the timecode will go with it.
> > > But I don't get the editing discontinuities part, you mean the mp4
> > > file
> > that
> > > your camera creates is edited and has timecode jumps in it?
> >
> > I was referring to files output by an editor (with smart rendering),
> > sorry about any confusion.
> >
> > > Doesn't it create a file per record-on/record-off button press?
> > >
> > > Anyway I think you can get text output of timecode per frame by
> > > adding
> > the
> > > -show_frames option to the ffprobe command.
> >
> > Then the output is even shorter ;-)
> >
> > C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata
> > subtitles>ffprobe -i MVI_0006.MP4 -select_streams 2 -show_frames
> > ffprobe version N-54277-gff130d7 Copyright (c) 2007-2013 the FFmpeg
> > developers
> >   built on Jun 30 2013 01:20:12 with gcc 4.7.3 (GCC)
> >   configuration: --enable-gpl --enable-version3 --disable-w32threads
> > --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
> > --enable-gnutls --enab le-iconv --enable-libass --enable-libbluray
> > --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc
> > --enable-libmodplug --enable-libmp3lame --ena ble-libopencore-amrnb
> > --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus
> > --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. 37.101 / 52. 37.101
> >   libavcodec     55. 17.100 / 55. 17.100
> >   libavformat    55. 10.100 / 55. 10.100
> >   libavdevice    55.  2.100 / 55.  2.100
> >   libavfilter     3. 77.101 /  3. 77.101
> >   libswscale      2.  3.100 /  2.  3.100
> >   libswresample   0. 17.102 /  0. 17.102
> >   libpostproc    52.  3.100 / 52.  3.100
> > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MP4':
> >   Metadata:
> >     major_brand     : mp42
> >     minor_version   : 1
> >     compatible_brands: mp42avc1CAEP
> >     creation_time   : 2014-01-30 17:57:13
> >     timecode        : 11:54:27:03
> >   Duration: 00:00:03.84, start: 0.000000, bitrate: 35109 kb/s
> >     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
> > 1920x1080, 34508 kb/s, 50 fps, 50 tbr, 50k tbn, 100k tbc
> >     Metadata:
> >       creation_time   : 2014-01-30 17:57:13
> >     Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz,
> > stereo, fltp, 253 kb/s
> >     Metadata:
> >       creation_time   : 2014-01-30 17:57:13
> >     Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s
> >     Metadata:
> >       creation_time   : 2014-01-30 17:57:13
> >       timecode        : 11:54:27:03
> > Unsupported codec with id 0 for input stream 2
> >
> > In contradiction to the ffprobe manual, it would seem that the tmcd
> > format is in fact not supported.
> >
> > _______________________________________________
> > ffmpeg-user mailing list
> > ffmpeg-user at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >
> 
> Yes it seems like that is the case. However I must say that it is very
unusual to
> use a container like mp4 as an edit intermediate with timecode.
> That was not the original design of the container even though it is a
> derivative of the Quicktime .mov format. I'd suggest to try to use an MXF
or
> mov container instead.
> 

I've retried with the MXF and MOV containers using the DNxHD and ProRes
codecs you suggested earlier, but I'm afraid I'm still not having any luck.
I realise that you're taking time off from sorting out issues of your own
and sincerely appreciate your suggestions so far.

My objective remains to use ffmpeg to extract frames' timecode data - the
tmcd stream in this case I guess (the timecode data is to be used as soft
subs on the finished video). Transcoding the video and storing it in other
formats doesn't seem to bring me any closer to being able to extract the
timecode with ffmpeg. Any help in getting me closer to a solution will be
sincerely appreciated.

For completeness, the results below.

Encoding to DNxHD MXF initially fails:

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata subtitles>ffmpeg
-y -i MVI_0006.MP4 -map 0:0 -map 0:1 -map 0:2 -c:v dnxhd -b:v 75000000 -c:d
copy MV
I_0006.MXF
ffmpeg version N-60321-g4d7d9a5 Copyright (c) 2000-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MP4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    creation_time   : 2014-01-30 17:57:13
    timecode        : 11:54:27:03
  Duration: 00:00:03.84, start: 0.000000, bitrate: 35109 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 1920x1080, 34508 kb/s, 50 fps, 50 tbr, 50k tbn, 100k tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 253 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
      timecode        : 11:54:27:03
[mxf @ 043d01c0] track 2: could not find essence container ul, codec not
currently supported in container
Output #0, mxf, to 'MVI_0006.MXF':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    timecode        : 11:54:27:03
    encoder         : Lavf55.29.101
    Stream #0:0(eng): Video: dnxhd, yuv422p, 1920x1080, q=2-1024, 75000
kb/s, 50 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
(default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
      timecode        : 11:54:27:03
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> dnxhd)
  Stream #0:1 -> #0:1 (aac -> pcm_s16le)
  Stream #0:2 -> #0:2 (copy)
Could not write header for output file #0 (incorrect codec parameters ?):
Error number -1 occurred

If I omit '-map 0:2' encoding works, but it of course omits the tmcd stream
that I'm after. Inspecting that output with ffprobe seems to indicate that
stream #0 no longer has timecode metadata:

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata
subtitles>ffprobe -i MVI_0006.MXF -show_streams
ffprobe version N-60321-g4d7d9a5 Copyright (c) 2007-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[dnxhd @ 03b65860] frame size changed: 1920x1088 -> 1920x1080
Input #0, mxf, from 'MVI_0006.MXF':
  Metadata:
    uid             : adab4424-2f25-4dc7-92ff-29bd000b0000
    generation_uid  : adab4424-2f25-4dc7-92ff-29bd000b0001
    company_name    : FFmpeg
    product_name    : OP1a Muxer
    product_version : 55.29.101
    product_uid     : adab4424-2f25-4dc7-92ff-29bd000b0002
    modification_date: 0000-01-01 00:00:00
    timecode        : 11:54:27:03
  Duration: 00:00:03.84, start: 0.000000, bitrate: 77427 kb/s
    Stream #0:0: Video: dnxhd, yuv422p, 1920x1080, 50 fps, 50 tbr, 50 tbn,
50 tbc
    Stream #0:1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
[STREAM]
index=0
codec_name=dnxhd
codec_long_name=VC3/DNxHD
profile=unknown
codec_type=video
codec_time_base=1/50
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
width=1920
height=1080
has_b_frames=0
sample_aspect_ratio=0:1
display_aspect_ratio=0:1
pix_fmt=yuv422p
level=-99
timecode=N/A
id=N/A
r_frame_rate=50/1
avg_frame_rate=50/1
time_base=1/50
start_pts=0
start_time=0.000000
duration_ts=192
duration=3.840000
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
[/STREAM]
[STREAM]
index=1
codec_name=pcm_s16le
codec_long_name=PCM signed 16-bit little-endian
profile=unknown
codec_type=audio
codec_time_base=1/48000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=s16
sample_rate=48000
channels=2
channel_layout=unknown
bits_per_sample=16
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/48000
start_pts=0
start_time=0.000000
duration_ts=184320
duration=3.840000
bit_rate=1536000
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
[/STREAM]

Encoding to DNxHD MOV:

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata subtitles>ffmpeg
-y -i MVI_0006.MP4 -map 0:0 -map 0:1 -map 0:2 -c:v dnxhd -b:v 75000000 -c:d
copy MV
I_0006.MOV
ffmpeg version N-60321-g4d7d9a5 Copyright (c) 2000-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MP4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    creation_time   : 2014-01-30 17:57:13
    timecode        : 11:54:27:03
  Duration: 00:00:03.84, start: 0.000000, bitrate: 35109 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 1920x1080, 34508 kb/s, 50 fps, 50 tbr, 50k tbn, 100k tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 253 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
      timecode        : 11:54:27:03
[mov @ 044501c0] You requested a copy of the original timecode track so
timecode metadata are now ignored
Output #0, mov, to 'MVI_0006.MOV':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    timecode        : 11:54:27:03
    encoder         : Lavf55.29.101
    Stream #0:0(eng): Video: dnxhd (AVdn / 0x6E645641), yuv422p, 1920x1080,
q=2-1024, 75000 kb/s, 12800 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (libvo_aacenc) (mp4a / 0x6134706D), 48000
Hz, stereo, s16, 128 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
      timecode        : 11:54:27:03
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> dnxhd)
  Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
  Stream #0:2 -> #0:2 (copy)
Press [q] to stop, [?] for help
[mov @ 044501c0] Application provided invalid, non monotonically increasing
dts to muxer in stream 2: 1 >= 1
av_interleaved_write_frame(): Invalid argument
[libvo_aacenc @ 040a3a60] Trying to remove 1024 samples, but the queue is
empty
[mov @ 044501c0] Encoder did not produce proper pts, making some up.
[libvo_aacenc @ 040a3a60] Trying to remove 1024 samples, but the queue is
empty
frame=    0 fps=0.0 q=0.0 Lsize=       2kB time=00:00:00.04 bitrate=
392.4kbits/s
video:0kB audio:1kB subtitle:0 data:0 global headers:0kB muxing overhead
200.718391%

The output file is unplayable. However, the '[mov @ 044501c0]' message
suggests that the tmcd stream is indeed accessed and interpreted (during
muxing?); I just can't find a way to write it out for separate processing.

Omitting '-map 0:2':

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata subtitles>ffmpeg
-y -i MVI_0006.MP4 -map 0:0 -map 0:1 -c:v dnxhd -b:v 75000000 -c:d copy
MVI_0006.MO
V
ffmpeg version N-60321-g4d7d9a5 Copyright (c) 2000-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MP4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    creation_time   : 2014-01-30 17:57:13
    timecode        : 11:54:27:03
  Duration: 00:00:03.84, start: 0.000000, bitrate: 35109 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 1920x1080, 34508 kb/s, 50 fps, 50 tbr, 50k tbn, 100k tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 253 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
      timecode        : 11:54:27:03
Output #0, mov, to 'MVI_0006.MOV':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    timecode        : 11:54:27:03
    encoder         : Lavf55.29.101
    Stream #0:0(eng): Video: dnxhd (AVdn / 0x6E645641), yuv422p, 1920x1080,
q=2-1024, 75000 kb/s, 12800 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (libvo_aacenc) (mp4a / 0x6134706D), 48000
Hz, stereo, s16, 128 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> dnxhd)
  Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
Press [q] to stop, [?] for help
frame=  192 fps= 41 q=4.0 Lsize=   35393kB time=00:00:03.84
bitrate=75322.7kbits/s dup=2 drop=0
video:35328kB audio:61kB subtitle:0 data:0 global headers:0kB muxing
overhead 0.012650%

This shows no tmcd stream being created explicitly, but ffprobe shows that
it does exist:

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata
subtitles>ffprobe MVI_0006.MOV -select_streams 2 -show_streams
ffprobe version N-60321-g4d7d9a5 Copyright (c) 2007-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf55.29.101
  Duration: 00:00:03.87, start: 0.033333, bitrate: 74843 kb/s
    Stream #0:0(eng): Video: dnxhd (AVdn / 0x6E645641), yuv422p, 1920x1080,
75366 kb/s, 50 fps, 50 tbr, 12800 tbn, 12800 tbc (default)
    Metadata:
      handler_name    : DataHandler
      timecode        : 11:54:27:03
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 128 kb/s (default)
    Metadata:
      handler_name    : DataHandler
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
    Metadata:
      handler_name    : DataHandler
      timecode        : 11:54:27:03
Unsupported codec with id 0 for input stream 2
[STREAM]
index=2
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=data
codec_time_base=1/50
codec_tag_string=tmcd
codec_tag=0x64636d74
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/12800
start_pts=0
start_time=0.000000
duration_ts=49152
duration=3.840000
bit_rate=8
nb_frames=1
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
TAG:language=eng
TAG:handler_name=DataHandler
TAG:timecode=11:54:27:03
[/STREAM]

And I'm right back where I started, with a tmcd track that ffmpeg cannot
extract :-(. Except now some data also seems to have gotten lost or placed
elsewhere. Previously, with the MP4 container ' ffprobe -i input
-select_streams 2 -show_packets -show_data ' seemed to produce one packet
per frame; now it only shows one:

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata
subtitles>ffprobe -i MVI_0006.MOV -select_streams 2 -show_packets -show_data
ffprobe version N-60321-g4d7d9a5 Copyright (c) 2007-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf55.29.101
  Duration: 00:00:03.87, start: 0.033333, bitrate: 74843 kb/s
    Stream #0:0(eng): Video: dnxhd (AVdn / 0x6E645641), yuv422p, 1920x1080,
75366 kb/s, 50 fps, 50 tbr, 12800 tbn, 12800 tbc (default)
    Metadata:
      handler_name    : DataHandler
      timecode        : 11:54:27:03
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 128 kb/s (default)
    Metadata:
      handler_name    : DataHandler
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
    Metadata:
      handler_name    : DataHandler
      timecode        : 11:54:27:03
Unsupported codec with id 0 for input stream 2
[PACKET]
codec_type=data
stream_index=2
pts=0
pts_time=0.000000
dts=0
dts_time=0.000000
duration=49152
duration_time=3.840000
convergence_duration=N/A
convergence_duration_time=N/A
size=4
pos=36
flags=K
data=
00000000: 0020 b479                                . .y

[/PACKET]

Encoding to ProRes MXF:

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata subtitles>ffmpeg
-y -i MVI_0006.MP4 -c:v prores MVI_0006.MXF
ffmpeg version N-60321-g4d7d9a5 Copyright (c) 2000-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MP4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    creation_time   : 2014-01-30 17:57:13
    timecode        : 11:54:27:03
  Duration: 00:00:03.84, start: 0.000000, bitrate: 35109 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 1920x1080, 34508 kb/s, 50 fps, 50 tbr, 50k tbn, 100k tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 253 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
      timecode        : 11:54:27:03
[prores @ 03447ee0] encoding with ProRes standard (apcn) profile
[prores @ 034f3c00] encoding with ProRes standard (apcn) profile
[prores @ 034f3fe0] encoding with ProRes standard (apcn) profile
[prores @ 034f43c0] encoding with ProRes standard (apcn) profile
[prores @ 035044c0] encoding with ProRes standard (apcn) profile
[mxf @ 034352a0] track 0: could not find essence container ul, codec not
currently supported in container
Output #0, mxf, to 'MVI_0006.MXF':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    timecode        : 11:54:27:03
    encoder         : Lavf55.29.101
    Stream #0:0(eng): Video: prores (apcn) (apcn / 0x6E637061), yuv422p10le,
1920x1080, q=2-31, 200 kb/s, 50 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
(default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> prores)
  Stream #0:1 -> #0:1 (aac -> pcm_s16le)
Could not write header for output file #0 (incorrect codec parameters ?):
Error number -1 occurred

'-c:v prores_aw' and '-c:vprores_ks' produce the same results.

Encoding to ProRes MOV:

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata subtitles>ffmpeg
-y -i MVI_0006.MP4 -map 0:0 -map 0:1 -map 0:2 -c:v prores -c:a copy -c:d
copy MVI_0
006.MOV
ffmpeg version N-60321-g4d7d9a5 Copyright (c) 2000-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MP4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    creation_time   : 2014-01-30 17:57:13
    timecode        : 11:54:27:03
  Duration: 00:00:03.84, start: 0.000000, bitrate: 35109 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 1920x1080, 34508 kb/s, 50 fps, 50 tbr, 50k tbn, 100k tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 253 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
      timecode        : 11:54:27:03
[prores @ 034da820] encoding with ProRes standard (apcn) profile
[prores @ 034f5aa0] encoding with ProRes standard (apcn) profile
[prores @ 034f5e80] encoding with ProRes standard (apcn) profile
[prores @ 034f6260] encoding with ProRes standard (apcn) profile
[prores @ 034404c0] encoding with ProRes standard (apcn) profile
[mov @ 0351f920] You requested a copy of the original timecode track so
timecode metadata are now ignored
Output #0, mov, to 'MVI_0006.MOV':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    timecode        : 11:54:27:03
    encoder         : Lavf55.29.101
    Stream #0:0(eng): Video: prores (apcn) (apcn / 0x6E637061), yuv422p10le,
1920x1080, q=2-31, 200 kb/s, 12800 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, 253
kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
      timecode        : 11:54:27:03
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> prores)
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (copy)
Press [q] to stop, [?] for help
[mov @ 0351f920] Application provided invalid, non monotonically increasing
dts to muxer in stream 2: 1 >= 1
av_interleaved_write_frame(): Invalid argument
frame=    0 fps=0.0 q=0.0 Lsize=       1kB time=00:00:00.04 bitrate=
159.0kbits/s
video:0kB audio:0kB subtitle:0 data:0 global headers:0kB muxing overhead
6525.000000%

The output file isn't playable.

Omitting '-map 0:2':

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata subtitles>ffmpeg
-y -i MVI_0006.MP4 -map 0:0 -map 0:1 -c:v prores -c:a copy -c:d copy
MVI_0006.MOV
ffmpeg version N-60321-g4d7d9a5 Copyright (c) 2000-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MP4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    creation_time   : 2014-01-30 17:57:13
    timecode        : 11:54:27:03
  Duration: 00:00:03.84, start: 0.000000, bitrate: 35109 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 1920x1080, 34508 kb/s, 50 fps, 50 tbr, 50k tbn, 100k tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 253 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
      timecode        : 11:54:27:03
[prores @ 03b746a0] encoding with ProRes standard (apcn) profile
[prores @ 03c0f060] encoding with ProRes standard (apcn) profile
[prores @ 03c0f440] encoding with ProRes standard (apcn) profile
[prores @ 03c0f820] encoding with ProRes standard (apcn) profile
[prores @ 044149e0] encoding with ProRes standard (apcn) profile
Output #0, mov, to 'MVI_0006.MOV':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1CAEP
    timecode        : 11:54:27:03
    encoder         : Lavf55.29.101
    Stream #0:0(eng): Video: prores (apcn) (apcn / 0x6E637061), yuv422p10le,
1920x1080, q=2-31, 200 kb/s, 12800 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, 253
kb/s (default)
    Metadata:
      creation_time   : 2014-01-30 17:57:13
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> prores)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=  192 fps= 19 q=0.0 Lsize=  161138kB time=00:00:03.84
bitrate=343761.5kbits/s dup=2 drop=0
video:161014kB audio:119kB subtitle:0 data:0 global headers:0kB muxing
overhead 0.002982%

As before with DNxHD and MOV, no tmcd track is explicitly shown to be
created, although ffprobe shows that it does exist but seems to now contain
only a single packet:

C:\Users\fvisagie\Videos\Home Videos\Testing\AVCHD metadata
subtitles>ffprobe -i MVI_0006.MOV -select_streams 2 -show_packets -show_data
ffprobe version N-60321-g4d7d9a5 Copyright (c) 2007-2014 the FFmpeg
developers
  built on Feb  2 2014 22:01:03 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca
--enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 29.101 / 55. 29.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.102 /  4.  1.102
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0006.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf55.29.101
  Duration: 00:00:03.84, start: 0.000000, bitrate: 343761 kb/s
    Stream #0:0(eng): Video: prores (apcn / 0x6E637061), yuv422p10le,
1920x1080, 343497 kb/s, 50 fps, 50 tbr, 12800 tbn, 12800 tbc (default)
    Metadata:
      handler_name    : DataHandler
      timecode        : 11:54:27:03
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 253 kb/s (default)
    Metadata:
      handler_name    : DataHandler
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
    Metadata:
      handler_name    : DataHandler
      timecode        : 11:54:27:03
Unsupported codec with id 0 for input stream 2
[PACKET]
codec_type=data
stream_index=2
pts=0
pts_time=0.000000
dts=0
dts_time=0.000000
duration=49152
duration_time=3.840000
convergence_duration=N/A
convergence_duration_time=N/A
size=4
pos=36
flags=K
data=
00000000: 0020 b479                                . .y




More information about the ffmpeg-user mailing list