FFMPEG添加字幕加效果的问题
FFMPEG添加字幕加效果的问题,我通过
drawtext给视频添加字幕,但想给字幕加点效果,比如字幕出现时加个淡入效果,字幕隐藏时加个淡出效果,可以实现么?
@大师兄 在不啦
可以实现,字幕在滤镜里面可以out connect到一个video的label上,然后对label做fade处理即可
例子
带源音频的视频淡出并且在淡出之前最后几帧突然放大加入纯色然后支持用户输入的文字从下向上滑动到中间然后文字最后几帧突然放大然后下一个视频淡入
说明
带源音频的视频淡出并且在淡出之前最后几帧突然放大加入纯色然后支持用户输入的文字从下向上滑动到中间然后文字最后几帧突然放大然后下一个视频淡入
滤镜参数使用
-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 "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;afade=t=out:start_time=2:d=2; 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;afade=t=in:d=2,adelay=5000|5000|5000;fade=d=2:c=White,setpts=PTS+5/TB ; overlay=x=0:y=0 ; amerge=inputs=2;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)';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)' " -map '' -map '' -ac 2 -movflags faststart -t 9 -vcodec libx264 -b:v 1000k -y test.mp4 炎之铠 发表于 2018-11-30 16:35
新手想问下,mac系统用homebrew安装的ffmpeg,然后发现没有drawtext这个filter,是不是要重新编译一个,加 ...
bogon:~ StevenLiu$ brew info ffmpeg
ffmpeg: stable 4.1 (bottled), HEAD
Play, record, convert, and stream audio and video
https://ffmpeg.org/
/usr/local/Cellar/ffmpeg/3.3.3 (243 files, 50.8MB)
Poured from bottle on 2017-09-04 at 22:55:57
/usr/local/Cellar/ffmpeg/4.0.1 (246 files, 49.7MB)
Poured from bottle on 2018-08-03 at 13:15:43
/usr/local/Cellar/ffmpeg/4.1 (282 files, 55.4MB)
Poured from bottle on 2018-11-16 at 18:19:23
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/ffmpeg.rb
==> Dependencies
Build: nasm ✘, pkg-config ✔, texi2html ✔
Required: lame ✔, libvorbis ✔, libvpx ✔, opus ✔, sdl2 ✔, snappy ✔, theora ✔, x264 ✔, x265 ✔, xvid ✔, xz ✔
Optional: chromaprint ✘, fdk-aac ✘, fontconfig ✔, freetype ✔, frei0r ✔, game-music-emu ✘, libass ✘, libbluray ✘, libbs2b ✘, libcaca ✘, libgsm ✘, libmodplug ✘, librsvg ✘, libsoxr ✘, libssh ✘, libvidstab ✘, opencore-amr ✘, openh264 ✘, openjpeg ✘, openssl ✔, rtmpdump ✘, rubberband ✘, speex ✘, srt ✘, tesseract ✔, two-lame ✘, wavpack ✘, webp ✔, zeromq ✘, zimg ✘
==> Options
--with-chromaprint
Enable the Chromaprint audio fingerprinting library
--with-fdk-aac
Enable the Fraunhofer FDK AAC library
--with-fontconfig
Build with fontconfig support
--with-freetype
Build with freetype support
--with-frei0r
Build with frei0r support
--with-game-music-emu
Build with game-music-emu support
--with-libass
Enable ASS/SSA subtitle format
--with-libbluray
Build with libbluray support
--with-libbs2b
Build with libbs2b support
--with-libcaca
Build with libcaca support
--with-libgsm
Build with libgsm support
--with-libmodplug
Build with libmodplug support
--with-librsvg
Enable SVG files as inputs via librsvg
--with-libsoxr
Enable the soxr resample library
--with-libssh
Enable SFTP protocol via libssh
--with-libvidstab
Enable vid.stab support for video stabilization
--with-opencore-amr
Enable Opencore AMR NR/WB audio format
--with-openh264
Enable OpenH264 library
--with-openjpeg
Enable JPEG 2000 image format
--with-openssl
Enable SSL support
--with-rtmpdump
Enable RTMP protocol
--with-rubberband
Enable rubberband library
--with-speex
Build with speex support
--with-srt
Enable SRT library
--with-tesseract
Enable the tesseract OCR engine
--with-two-lame
Build with two-lame support
--with-wavpack
Build with wavpack support
--with-webp
Enable using libwebp to encode WEBP images
--with-zeromq
Enable using libzeromq to receive commands sent through a libzeromq client
--with-zimg
Enable z.lib zimg library
--HEAD
Install HEAD version
bogon:~ StevenLiu$ 孙悟空 发表于 2018-2-27 12:06
可以实现,字幕在滤镜里面可以out connect到一个video的label上,然后对label做fade处理即可
好的 谢谢大师兄,看这里命令还挺多的,能否直接通过drawtext来实现呢? 可能需要添加多个字幕 leshow♪ 发表于 2018-2-27 14:12
好的 谢谢大师兄,看这里命令还挺多的,能否直接通过drawtext来实现呢? 可能需要添加多个字幕 ...
./ffmpeg -f lavfi -i color=c=white:s=1280x720:d=3 -filter_complex "split=2;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;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;fade=t=out:start_time=1:d=1:c=White;fade=d=2:c=White,setpts=PTS+2/TB;overlay=x=0:y=0" -s 352x288 a.mp4
效果如附件
**** Hidden Message *****
好的 谢谢T-Bagwell我试试 kankan ffmpeg添加字幕加特效 想看啊 啊啊啊啊啊a 看看效果谢谢! 想看看