Extract files from mpeg video

Videos created using Camtasia can be accessed online by exporting a project for 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 TechSmith Smart Player.

These custom files are also burned in the video itself. For example, the contents of an XML file can be viewed when opening an MP4 video in a text editor. This allows other services to request only the MP4 file when downloading Camtasia videos.

So my question is, how do you extract text and binary files from an MP4 video file? For this project, I am limited to Java, but I am also happy to call an external executable.

I tried the "-dump_attachment" option in FFmpeg , but that didn't work, and I'm not in 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

. , XML UUID, .

+4
1

UUID Atom/Box, mp4parser

IsoFile isoFile = new IsoFile("project.mp4");
UserBox userbox = isoFile.getBoxes(UserBox.class).get(0);
System.out.println(new String(userbox.getData()));
+1

All Articles