请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站
开启辅助访问
切换到宽版

ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博登录

只需一步,快速搞定

搜索
热搜: 活动 交友 discuz
查看: 2685|回复: 22

[Linux] FFMPEG添加字幕加效果的问题

[复制链接]
黑户  发表于 2018-2-27 11:31:24 |阅读模式

FFMPEG添加字幕加效果的问题,我通过
drawtext给视频添加字幕,但想给字幕加点效果,比如字幕出现时加个淡入效果,字幕隐藏时加个淡出效果,可以实现么?

@大师兄 在不啦  
回复

使用道具

发表于 2018-2-27 12:06:14 | 显示全部楼层
可以实现,字幕在滤镜里面可以out connect到一个video的label上,然后对label做fade处理即可

[AppleScript] 纯文本查看 复制代码
例子
带源音频的视频淡出并且在淡出之前最后几帧突然放大加入纯色然后支持用户输入的文字从下向上滑动到中间然后文字最后几帧突然放大然后下一个视频淡入

说明
带源音频的视频淡出并且在淡出之前最后几帧突然放大加入纯色然后支持用户输入的文字从下向上滑动到中间然后文字最后几帧突然放大然后下一个视频淡入

滤镜参数使用
-f lavfi 设备与 -i color 创建显示文字的画布
scale: 统一图像分辨率
fade: 淡入淡出滤镜
setpts: 视频偏移起始时间
overlay: 多图层操作
afade: 音频淡入淡出滤镜
amerge: 多音频轨道合并
adelay: 音频多声道延迟播放处理
drawtext: 支持输入文字处理
zoompan: 图像放大处理
gte 、 max、 between、 if、 lte、 zoom 内置函数

命令行举例
@~/multimedia/ffmpeg/dash/ffmpeg i ~/Movies/objectC/facebook.mp4 -i ~/Movies/objectC/chuangshiji.mp4 -f lavfi -i color=c=white:s=1280x720 -filter_complex "[2:v]drawtext=fontfile=/System/Library/Fonts/STHeiti\ Medium.ttc: text='下面是电视剧':fontsize=48:fontcolor=Black@0.5:shadowy=2:x=(w-text_w)/2:y=(h-text_h)/2[t1];[0:a]afade=t=out:start_time=2:d=2[a0];[0:v] zoompan=z='if(lte(in,85),zoom,min(max(zoom,pzoom)+0.8, 9))':d=1:x='iw/2(iw/zoom/2)':y='ih/2-(ih/zoom/2)',fade=t=out:start_time=2:d=2:c=White[v0];[1:a]afade=t=in:d=2,adelay=5000|5000|5000[a1];[1:v]fade=d=2:c=White,setpts=PTS+5/TB [v1]; [v0][v1]overlay=x=0:y=0 [o]; [a1][a0]amerge=inputs=2[ao];[t1]setpts=PTS+3.5/TB,colorkey=White:0.01:0.1,zoompan=z='if(lte(in,120),zoom,min(max(zoom,pzoom)+0.8, 9))':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'[t2];[o][t2]overlay=y='if(gte(t,1), max(H-(t-2)*270, H/2-h/2), NAN)':x=W/2-w/2:enable='between(t,2,5)' [ovv]" -map '[ovv]' -map '[ao]' -ac 2 -movflags faststart -t 9 -vcodec libx264 -b:v 1000k -y test.mp4
回复 支持 反对

使用道具 举报

黑户  发表于 2018-2-27 14:12:26
孙悟空 发表于 2018-2-27 12:06
可以实现,字幕在滤镜里面可以out connect到一个video的label上,然后对label做fade处理即可

[mw_shl_code ...

好的 谢谢大师兄,看这里命令还挺多的,能否直接通过drawtext来实现呢? 可能需要添加多个字幕
回复 支持 反对

使用道具

发表于 2018-2-27 14:35:43 | 显示全部楼层
leshow♪ 发表于 2018-2-27 14:12
好的 谢谢大师兄,看这里命令还挺多的,能否直接通过drawtext来实现呢? 可能需要添加多个字幕 ...

[AppleScript] 纯文本查看 复制代码
./ffmpeg -f lavfi -i color=c=white:s=1280x720:d=3 -filter_complex "[0:v]split=2[1v][2v];[1v]drawtext=fontfile=/System/Library/Fonts/STHeiti\ Medium.ttc: text='Test 1':fontsize=48:fontcolor=Black@0.5:shadowy=2:x=(w-text_w)/2:y=(h-text_h)/2[t1];[2v]drawtext=fontfile=/System/Library/Fonts/STHeiti\ Medium.ttc: text='测试二':fontsize=48:fontcolor=Black@0.5:shadowy=2:x=(w-text_w)/2:y=(h-text_h)/2[v2];[t1]fade=t=out:start_time=1:d=1:c=White[ov1];[v2]fade=d=2:c=White,setpts=PTS+2/TB[ov2];[ov1][ov2]overlay=x=0:y=0" -s 352x288 a.mp4


效果如附件
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

黑户  发表于 2018-2-27 14:53:31
好的 谢谢T-Bagwell  我试试
回复 支持 反对

使用道具

发表于 2018-3-9 15:44:09 | 显示全部楼层
kankan
回复

使用道具 举报

发表于 2018-3-23 08:28:23 | 显示全部楼层
ffmpeg添加字幕加特效
回复 支持 反对

使用道具 举报

发表于 2018-4-5 17:18:58 | 显示全部楼层
想看啊           啊啊啊啊啊a
回复 支持 反对

使用道具 举报

发表于 2018-4-9 22:54:20 | 显示全部楼层
看看效果  谢谢!
回复 支持 反对

使用道具 举报

发表于 2018-4-11 17:28:46 | 显示全部楼层
想看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg    

GMT+8, 2018-10-18 01:12 , Processed in 0.033405 second(s), 20 queries .

Powered by ChinaFFmpeg

© 2013 - 2018 www.chinaffmpeg.com

快速回复 返回顶部 返回列表