ffmpeg管道mplayer嵌srt字幕

管道模式用于两个流的叠加,变频,标准化,频道调整,字幕及特效处理等

事实上能用于管道模式的影音格式,真正意义的流格式并不多,ffmpeg的官方文档中有关于使用管道的描述

yuv4mpeg是较常用的影像流格式,编码简单且信息无损

pcm格式是音频的流格式,并非wav格式,一般使用单纯的s16le格式

ffmpeg -i input.avi -vcodec rawvideo -f yuv4mpeg /tmp/video.pipe

ffmpeg -i input.avi -acodec pcm_s16le -f s16le /tmp/audio.pipe

mplayer也支持yuv4mpeg格式,名称不同yuv4mpegpipe,可以将输入流加入字幕

mplayer /tmp/video.pipe -vo yuv4mpeg:file=/tmp/video.subtitle.pipe -subcp utf-8 -sub '/path/to/subtitle/ttt.srt' -ao null -benchmark -noframedrop

最新版的mplayer源码中加入了使用fontconfig的代码,这使得所有字体都只使用fontconfig定义的集合

mplayer手册和帮助文档中提示,mplayer的字幕会自动寻找~/.mplayer/subfont.ttf,这个搜寻会被fontconfig屏蔽

如果仍然需要使用自定义字体,需要在编译mplayer时加入--disable-fontconfig,关闭fontconfig功能