我尝试对视频中的dvb字幕进行硬编码。我设法对它进行了硬编码,但它仍然是错误的。原因是字幕的标清分辨率为720x576,而视频为1920x1080。
因此,当我使用叠加时,字幕错位并位于左下角。
这是我的命令:
ffmpeg -canvas_size 1280x720 -y -probesize 5000000 -analyzeduration 5000000 -i http://192.168.2.9:8001 -filter_complex "[0:s]scale=1280:720[sub],[0:v]scale=1280:720,yadif=1[vid];[vid][sub]overlay[all]" -map "[all]" -map a:0 -strict -2 -dn -vcodec h264 -acodec aac -preset superfast -scodec copy -b:v 2000k -b:a 96k -maxrate 3000k -crf 26 -r 25 -ac 2 -threads 0 -hls_flags delete_segments -hls_time 10 -hls_list_size 6 testbst.ts
字幕需要放大和/或放置在屏幕的中央底部。任何帮助表示赞赏。
答案 0 :(得分:0)
这个问题有字幕,设法解决:
-filter_complex "[0:s:0] scale=-1:2400 [sub],[0:v][sub] overlay=x=150:y=-80"
其中:
比例 - 字幕大小
叠加x = - 垂直
叠加y = - 水平
答案 1 :(得分:0)
preview.ibb.co/ibNB4k/1.jpg 第一个代码
在第一个,字幕有点高,代码是:
ffmpeg -i http://localhost:9099/play/a07w -metadata title="Cinemax" -filter_complex "[0:s:0] scale=-1:500 [sub],[0:v][sub] overlay=x=30:y=-10" -c:v libx264 -crf 20 -preset veryfast -aspect 16:9 -c:a aac -strict experimental -b:a 192k -flags -global_header -f segment -segment_format mpegts -segment_list_type m3u8 -segment_list /var/www/html/CINEMAX.m3u8 -segment_time 5 -segment_list_flags +live -segment_wrap 6 -segment_time 10 /var/www/html/CINEMAX-%00d.ts
在第二个,字幕比第一个低: https://preview.ibb.co/e6VaVQ/2.jpg 第二个代码
ffmpeg -i http://localhost:9099/play/a07w -metadata title="Cinemax" -filter_complex "[0:s:0] scale=-1:500 [sub],[0:v][sub] overlay=x=30:y=-1" -c:v libx264 -crf 20 -preset veryfast -aspect 16:9 -c:a aac -strict experimental -b:a 192k -flags -global_header -f segment -segment_format mpegts -segment_list_type m3u8 -segment_list /var/www/html/CINEMAX.m3u8 -segment_time 5 -segment_list_flags +live -segment_wrap 6 -segment_time 10 /var/www/html/CINEMAX-%00d.ts
第三个是他们在底部: https://preview.ibb.co/hyZfx5/3.jpg
nohup ffmpeg -i http://localhost:9099/play/a07w -metadata title="Cinemax" -filter_complex "[0:s:0] scale=-1:500 [sub],[0:v][sub] overlay=x=15:y=80" -c:v libx264 -crf 20 -preset veryfast -aspect 16:9 -c:a aac -strict experimental -b:a 192k -flags -global_header -f segment -segment_format mpegts -segment_list_type m3u8 -segment_list /var/www/html/CINEMAX.m3u8 -segment_time 5 -segment_list_flags +live -segment_wrap 6 -segment_time 10 /var/www/html/CINEMAX-%00d.ts > /dev/null 2>&1
比例选项用于缩放“字体大小”,它取决于视频分辨率。
当前运行和测试的版本: ffmpeg版本3.3.2-1~14.04.york1版权所有(c)2000-2017 FFmpeg开发人员