我在同一文件夹中有一个名为 test.m4a 和 test.srt 的文件。
\n\n如何将字幕刻录为 m4a?
\n\n我得到的输出是:
\n\nKorays-MacBook-Pro:~ koraytugay$ ./ffmpeg -i test.m4v -vf subtitles=test.srt out.m4v\nffmpeg version 2.4.2 Copyright (c) 2000-2014 the FFmpeg developers\n built on Oct 8 2014 19:37:09 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)\n configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --arch=x86_64 --enable-runtime-cpudetect\n libavutil 54. 7.100 / 54. 7.100\n libavcodec 56. 1.100 / 56. 1.100\n libavformat 56. 4.101 / 56. 4.101\n libavdevice 56. 0.100 / 56. 0.100\n libavfilter 5. 1.100 / 5. 1.100\n libswscale 3. 0.100 / 3. 0.100\n libswresample 1. 1.100 / 1. 1.100\n libpostproc 53. 0.100 / 53. 0.100\n[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fca6201e000] stream 0, timescale not set\n[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fca6201e000] Could not find codec parameters for stream 1 (Video: none (drmi / 0x696D7264), 640x478, 1389 kb/s): unknown codec\nConsider increasing the value for the \'analyzeduration\' and \'probesize\' options\n[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fca6201e000] Could not find codec parameters for stream 2 (Subtitle: none (p608 / 0x38303670), 853x478, 0 kb/s): unknown codec\nConsider increasing the value for the \'analyzeduration\' and \'probesize\' options\nInput #0, mov,mp4,m4a,3gp,3g2,mj2, from \'test.m4v\':\n Metadata:\n major_brand : M4V \n minor_version : 0\n compatible_brands: M4V mp42isom\n creation_time : 2014-06-09 19:13:04\n title : Day 1: 2:00 A.M. - 3:00 A.M.\n artist : 24\n album_artist : 24\n album : 24\n genre : Drama\n track : 3\n disc : 1/1\n compilation : 0\n gapless_playback: 0\n date : 2001-11-20T08:00:00Z\n copyright : \xc2\xa9 2001 Twentieth Century Fox Film Corporation\n description : Jack verifies the key card was encrypted on Nina\'s computer.\n show : 24\n episode_id : 1AFF02 \n season_number : 1\n episode_sort : 3\n media_type : 10\n synopsis : Kimberly and Janet find themselves in great danger and must look for an escape route. In her search for Kimberly, Teri has found help from Janet\'s father Alan York. Meanwhile, Palmer attends a secret meeting about disturbing news that is about to break,\n iTunMOVI : <?xml version="1.0" encoding="UTF-8"?>\n : <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n : <plist version="1.0">\n : <dict>\n : <key>asset-info</key>\n : <dict>\n : <key>closed-captioned</key>\n : <true/>\n : <key>file-size</key>\n : <integer>484838754</integer>\n : <key>flavor</key>\n : <string>4:640x480LC-128</string>\n : <key>screen-format</key>\n : <string>widescreen</string>\n : </dict>\n : </dict>\n : </plist>\n : \n Duration: 00:42:30.01, start: 0.000000, bitrate: 1521 kb/s\n Stream #0:0(eng): Audio: aac (drms / 0x736D7264), 44100 Hz, stereo, fltp, 124 kb/s (default)\n Metadata:\n creation_time : 2014-06-09 19:13:04\n handler_name : Apple Sound Media Handler\n Stream #0:1(eng): Video: none (drmi / 0x696D7264), 640x478, 1389 kb/s, SAR 4:3 DAR 1280:717, 23.98 fps, 23.98 tbr, 2997 tbn, 2997 tbc (default)\n Metadata:\n creation_time : 2014-06-09 19:13:04\n handler_name : Apple Video Media Handler\n Stream #0:2(eng): Subtitle: none (p608 / 0x38303670), 853x478, 0 kb/s (default)\n Metadata:\n creation_time : 2014-06-09 19:13:04\n handler_name : Apple Closed Caption Media Handler\n Stream #0:3: Video: mjpeg, yuvj444p(pc, bt470bg), 1400x1400 [SAR 300:300 DAR 1:1], 90k tbr, 90k tbn, 90k tbc\n[AVFilterGraph @ 0x7fca61e133e0] No such filter: \'subtitles\'\nError opening filters!\nKorays-MacBook-Pro:~ koraytugay$ \n
Run Code Online (Sandbox Code Playgroud)\n
就像wiki 页面提到的那样,您的 ffmpeg 版本需要使用--enable-libass
字幕过滤器选项进行编译才能工作。您的似乎是一个构建,不幸的是没有。
最简单的方法是使用Homebrew。
然后安装ffmpeg:
brew install ffmpeg
Run Code Online (Sandbox Code Playgroud)
然后,再试一次:
ffmpeg -i test.m4v -vf subtitles=test.srt -c:a copy out.m4v
Run Code Online (Sandbox Code Playgroud)
请务必阅读H.264 编码指南以了解如何设置输出质量。
请注意,您无法转换 DRM 加密的文件,如示例中的文件(请参阅视频编解码器drmi
)。这是 ffmpeg 的一个开放问题,但不太可能得到解决。
归档时间: |
|
查看次数: |
12944 次 |
最近记录: |