Videos created with Camtasia can be shared on the web by exporting the project for the TechSmith Smart Player. The video is exported in the "H264 - MPEG-4 AVC (part10) (avc1)" codec and the export also includes other custom XML, JavaScript and SWF files used by the TechSmith Smart Player.
These custom files are also "burnt" into the video itself. For example the contents of the XML file can be viewed when opening the MP4 video in a text editor. This allows other services to only ask for the MP4 file when uploading Camtasia videos.
Therefore my question is how do you extract text and binary files from a MP4 video file? For this project I am limited to Java but I am happy to call an external executable as well.
I tried the "-dump_attachment" option in FFmpeg but that didn't work and I am out of ideas.
C:\Users\Desktop>ffmpeg -dump_attachment:t "" -i getting-started-project.mp4
ffmpeg version N-57448-gc78a416 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 26 2013 18:08:54 with gcc 4.8.2 (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-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 47.101 / 52. 47.101
libavcodec 55. 38.101 / 55. 38.101
libavformat 55. 19.104 / 55. 19.104
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 89.100 / 3. 89.100
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 'getting-started-project.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2013-10-24 15:53:19
artist :
description :
title : Untitled
Duration: 00:05:41.12, start: 0.000000, bitrate: 314 kb/s
Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv), 6
40x360 [SAR 1:1 DAR 16:9], 185 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default)
Metadata:
creation_time : 2013-10-24 15:53:19
handler_name : Mainconcept MP4 Video Media Handler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 12
5 kb/s (default)
Metadata:
creation_time : 2013-10-24 15:53:19
handler_name : Mainconcept MP4 Sound Media Handler
At least one output file must be specified
Update: It appears the XML is contained within a custom UUID atom and I just need a way of extracting that.
Thanks
-dump_attachmentand include the complete console output. - llogan