`ffmpeg版本:git-fc6de70(2013-07-18),支持libass和fontconfig.命令行:ffmpeg.exe -i test.mkv -vf subtitles = test.srt out.mkv我得到了这个错误:
Metadata:
encoder : Lavf55.12.102
Stream #0:0(eng): Video: h264 (libx264) (H264 / 0x34363248), yuv420p, 1280x5
76 [SAR 1:1 DAR 20:9], q=-1--1, 1k tbn, 23.98 tbc (default)
Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 48000 Hz, stereo
, fltp (default)
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
[Parsed_subtitles_0 @ 00000000027b9960] Neither PlayResX nor PlayResY defined. A
ssuming 384x288
Run Code Online (Sandbox Code Playgroud)
你收到的消息:
[Parsed_subtitles_0 @ 00000000027b9960] Neither PlayResX nor PlayResY defined. Assuming 384x288
Run Code Online (Sandbox Code Playgroud)
表示您的ssa或srt文件未指定PlayResX和Y值.所以VFilter假设显示分辨率为384x288,这就是为什么你的字幕在1280x576视频上显得那么小.
您的问题的解决方法是:
将SRT转换为SSA/ASS
ffmpeg -i file.srt file.ass
Run Code Online (Sandbox Code Playgroud)编辑您的SSA/ASS文件以设置正确的值.对于SSA,此处描述了格式,并且可以轻松设置PlayRes X和Y.
[Script Info]
; This is a Sub Station Alpha v4 script.
....
ScriptType: v4.00
Collisions: Normal
PlayResX: 1280
PlayResY: 576
PlayDepth: 0
....
Run Code Online (Sandbox Code Playgroud)最后,使用ass文件再次启动命令.