ffmpeg -y -i "/storage/0040-18A0/Music Videos on YouTube/TO be synced/ICSM dance.mkv" -c:s copy -q:s 0 -c:a copy -c:d copy -c:v mpeg2video -q:v 0 -map_metadata 0 -vf "scale=1920:-1,colorspace=all=bt2020,ass=/storage/0040-18A0/Music Videos on YouTube/TO be synced/ICSM dance.ass:fontsdir=/system/fonts/DroidSans.ttf" -bufsize 960M -maxrate 480M -r:v 30 -r:a 30 -t 30 -movflags +write_colr "/storage/0040-18A0/Music Videos on YouTube/TO be synced/30s samples.ts"
这是输入和输出写的。
Input #0, matroska,webm, from '/storage/0040-18A0/Music Videos on YouTube/TO be synced/ICSM dance.mkv':
Metadata:
COMPATIBLE_BRANDS: iso6mp41
creation_time : 2020-12-16T20:39:56.000000Z
MAJOR_BRAND : dash
MINOR_VERSION : 0
ENCODER : Lavf58.76.100
Duration: 00:03:30.07, start: 0.000000, bitrate: 218 kb/s
Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, bt709), 256x144, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
Metadata:
DURATION : 00:03:30.009000000
Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default)
Metadata:
HANDLER_NAME : ISO Media file produced by Google Inc.
VENDOR_ID : [0][0][0][0]
DURATION : 00:03:30.071000000
Stream mapping:
Stream #0:0 -> #0:0 (vp9 (native) -> mpeg2video (native))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[Parsed_ass_2 @ 0xa51dd240] libass API version: 0x1501000
[Parsed_ass_2 @ 0xa51dd240] libass source: tarball: 0.15.1
[Parsed_ass_2 @ 0xa51dd240] Shaper: FriBidi 1.0.10 (SIMPLE) HarfBuzz-ng 2.8.1 (COMPLEX)
[Parsed_ass_2 @ 0xa51dd240] Using font provider fontconfig
[Parsed_ass_2 @ 0xa51dd240] Added subtitle file: '/storage/0040-18A0/Music Videos on YouTube/TO be synced/ICSM dance.ass' (2 styles, 58 events)
[Parsed_ass_2 @ 0xa51dd240] Neither PlayResX nor PlayResY defined. Assuming 384x288
Output #0, mpegts, to '/storage/0040-18A0/Music Videos on YouTube/TO be synced/30s samples.ts':
Metadata:
COMPATIBLE_BRANDS: iso6mp41
creation_time : 2020-12-16T20:39:56.000000Z
MAJOR_BRAND : dash
MINOR_VERSION : 0
encoder : Lavf58.76.100
Stream #0:0(eng): Video: mpeg2video (Main), yuv420p(tv, bt2020nc/bt2020/bt2020-10, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 30 fps, 90k tbn (default)
Metadata:
DURATION : 00:03:30.009000000
encoder : Lavc58.134.100 mpeg2video
Side data:
cpb: bitrate max/min/avg: 480000000/0/200000 buffer size: 960000000 vbv_delay: N/A
Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default)
Metadata:
HANDLER_NAME : ISO Media file produced by Google Inc.
VENDOR_ID : [0][0][0][0]
DURATION : 00:03:30.071000000
有人能帮我如何在ffmpeg Termux上使用系统字体吗?无论我尝试什么,都只是给了我DroidSansFallback。这是另一个,芬伯说.
[Parsed_ass_2 @ 0xa51dd240] fontselect: ("/system/fonts/DroidSans.ttf", 400, 0) -> /system/fonts/Lohit-Punjabi.ttf, 0, Lohit-Punjabi
[Parsed_ass_2 @ 0xa51dd240] fontselect: (DroidSansChinese, 400, 0) -> /system/fonts/Lohit-Punjabi.ttf, 0, Lohit-Punjabi
[Parsed_ass_2 @ 0xa51dd240] Glyph 0x41 not found, selecting one more font for (DroidSansChinese, 16, 400)
[Parsed_ass_2 @ 0xa51dd240] fontselect: (DroidSansChinese, 400, 0) -> /system/fonts/DroidSansFallback.ttf, 0, DroidSansFallback
最后一封信说..。
frame= 899 fps=1.7 q=0.0 Lsize= 25350kB time=00:00:29.97 bitrate=6927.5kbits/s speed=0.0563x
video:24095kB audio:469kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.197927%
提前感谢那些能帮我的人!
发布于 2022-06-22 04:02:07
经过一些测试,我发现FontName
是Droid Sans
,而不是实际的字体位置。那么fontsdir
需要我们的字体文件的文件夹位置,而不是实际的字体文件。
用于硬分的命令如下:
-vf "subtitles=(srt位置):fontsdir=(字体文件夹位置):subtitles=_style=‘FontName=Droid,Fontsize=12'“
我的例子:
-vf "subtitles=/storage/emulated/0/0.srt:fontsdir=/storage/emulated/0/fonts/:force_style='FontName=Droid Sans,Fontsize=12'"
要了解您的Fontname
,您可以使用任何浏览器在fontdrop.info在线,然后将字体文件上传到那里,或者如果您正在使用windows,请将鼠标悬停到字体文件中,然后将名称显示在字体文件下面。
对于ass
过滤器,使用任何文本编辑器编辑ass文件,然后在那里替换字体名称和字体大小。您不需要输入上面的force_style
选项,只需使用fontsdir
并将-vf subtitles
替换为-vf ass
如下所示:
-vf "ass=/storage/emulated/0/0.ass:fontsdir=/storage/emulated/0/fonts/"
这是用于termux,windows cmd,甚至mac。由于一些小问题,我不得不使用双引号。
https://askubuntu.com/questions/1336927
复制相似问题