ffmpeg同时添加字幕和水印
酷咪哥
全栈领域新星创作者 2017-02-08 10:14:44 1.添加字幕
char *video_filter_spec = "drawtext=fontfile=FreeSerif.ttf:\
fontsize=36: \
fontcolor=yellow@1.0: \
x='if(gte(t,5), (main_w-mod(t*30,main_w+text_w)), NAN)':\
y=(0):\
text='Hello, this is drawtext function,any more questsion can concat su.gao\(sugao_cn@163.com\)' ";
2.添加水印
char *video_filter_spec ="movie=/root/mscore/extern/source/logo/dexin_ch.png[wm];[in] [wm]overlay='if(gte(t,5), (W-mod(t*30,W)), NAN)':0 [out]";
3.同时添加字幕和水印
char *video_filter_spec = "drawtext=x=0:y=main_h:text='Hello!';movie=/root/mscore/extern/source/logo/dexin_ch.png[wm];[in] [wm]overlay=0:0 [out] ";
解析函数
if ( avfilter_graph_parse_ptr(graph, video_filter_spec,&inputs, &outputs, NULL) < 0){
ms_errgoto( endfiter, "avgraph_parse_ptr failed");
}
video_filter_spec定义1和2可以正常使用,但3会报错误:Invalid filterchain containing an unlabelled output pad: "drawtext=x=0:y=main_h:text='Hello!';movie=/root/mscore/extern/source/logo/dexin_ch.png[wm];[in] [wm]overlay=0:0 [out] "
请问我要同时实现添加字幕和水印,应该如何定义video_filter_spec?????