通过为TechSmith Smart Player导出项目,可以在网络上共享使用Camtasia创建的视频。视频以“H264 - MPEG-4 AVC (part10) (avc1)”编解码器导出,导出还包括 TechSmith Smart Player 使用的其他自定义 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 版本 N-57448-gc78a416 版权所有 (c) 2000-2013 FFmpeg 开发者 使用 gcc 4.8.2 (GCC) 于 2013 年 10 月 26 日 18:08:54 构建 配置:--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 libav 设备 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 输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自“getting-started-project.mp4”: 元数据: 主要品牌:mp42 次要版本:0 compatible_brands:isomp42 创建时间:2013-10-24 15:53:19 艺术家 : 描述 : 标题:无标题 时长:00:05:41.12,开始:0.000000,比特率:314 kb/s 流#0:0(eng):视频:h264(基线)(avc1 / 0x31637661),yuv420p(tv),6 40x360 [SAR 1:1 DAR 16:9]、185 kb/s、30 fps、30 tbr、30k tbn、60 tbc(默认) 元数据: 创建时间:2013-10-24 15:53:19 handler_name : Mainconcept MP4 视频媒体处理程序 流 #0:1(eng):音频:aac (mp4a / 0x6134706D),44100 Hz,立体声,fltp,12 5 kb/s(默认) 元数据: 创建时间:2013-10-24 15:53:19 handler_name : Mainconcept MP4 声音媒体处理程序 必须至少指定一个输出文件
更新:似乎 XML 包含在自定义 UUID 原子中,我只需要一种提取方法。
谢谢