1

我尝试对视频中的 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

字幕需要放大和/或放置在屏幕的中心底部。任何帮助表示赞赏。

4

2 回答 2

0

我遇到了这个带有字幕的问题,设法解决了:

-filter_complex "[0:s:0] scale=-1:2400 [sub],[0:v][sub] overlay=x=150:y=-80"

在哪里:

scale - 字幕大小

覆盖 x= - 垂直

覆盖 y= - 水平

于 2017-06-22T08:27:30.137 回答
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 version 3.3.2-1~14.04.york1 Copyright (c) 2000-2017 the FFmpeg developers

于 2017-07-24T10:26:19.380 回答