使用Camtasia创建的视频可以通过导出TechSmith Smart Player的项目在网络上共享。视频导出为“H264 - MPEG-4 AVC(part10)(avc1)”编解码器,导出还包括TechSmith智能播放器使用的其他自定义XML,JavaScript和SWF文件。
这些自定义文件也会“烧毁”到视频中。例如,在文本编辑器中打开MP4视频时,可以查看XML文件的内容。这允许其他服务在上传Camtasia视频时仅询问MP4文件。
因此,我的问题是如何从MP4视频文件中提取文本和二进制文件?对于这个项目,我仅限于Java,但我也很乐意调用外部可执行文件。
我在FFmpeg中尝试了“-dump_attachment”选项,但这不起作用,我的想法不合适。
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原子中,我只需要一种解压缩方式。
由于
答案 0 :(得分:1)
通过使用mp4parser项目来管理以找到访问UUID Atom / Box的方法
IsoFile isoFile = new IsoFile("project.mp4");
UserBox userbox = isoFile.getBoxes(UserBox.class).get(0);
System.out.println(new String(userbox.getData()));