[FFmpeg-user] How to access H.264 MP4 timecode data
    Francois Visagie 
    francois.visagie at gmail.com
       
    Fri Jan 31 16:22:44 CET 2014
    
    
  
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 -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
 
 
    
    
More information about the ffmpeg-user
mailing list