首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ffmpeg和dvb字幕缩放

ffmpeg和dvb字幕缩放
EN

Stack Overflow用户
提问于 2016-12-12 15:07:56
回答 2查看 2.5K关注 0票数 2

我试图在视频中硬编码dvb字幕。我设法把它硬编码了,但它还是放错了地方。原因是字幕在SD分辨率720x576上,而视频是1920x1080。

所以当我使用叠加时,副标题是错放的,在左角。

这是我的命令:

代码语言:javascript
复制
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

字幕需要放大和/或放置在屏幕的中央底部。任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2017-06-22 08:27:30

我用字幕解决了这个问题,设法解决了:

代码语言:javascript
复制
-filter_complex "[0:s:0] scale=-1:2400 [sub],[0:v][sub] overlay=x=150:y=-80"

其中:

比例尺-字幕大小

覆盖x= -垂直

覆盖y= -水平

票数 0
EN

Stack Overflow用户

发布于 2017-07-24 10:26:19

preview.ibb.co/ibNB4k/1.jpg第一段代码

在第一个,字幕有点高,代码是:

代码语言:javascript
复制
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第二段代码。

代码语言:javascript
复制
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

代码语言:javascript
复制
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

scale选项用于缩放“字体大小”,它取决于视频分辨率。

当前运行和测试版本: ffmpeg版本3.3.2-1~14.04.york 1版权(c) 2000-2017年FFmpeg开发人员

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41103786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档