`

centos ffmpeg 加水印

阅读更多

建立yum源文件(在字符界面输入以下)
cat << EOF > /etc/yum.repos.d/ffmpeg.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el\$releasever/en/\$basearch/dag
gpgcheck=0
enabled=1
EOF

安装ffmpeg及开发包:
yum -y install ffmpeg ffmpeg-devel

验证安装:
输入命令:ffmpeg (出现以下提示则安装正常)
FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
built on Dec 4 2010 09:30:59 with gcc 4.4.4 20100726 (Red Hat 4.4.4-13)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
libavutil     50.15. 1 / 50.15. 1
libavcodec    52.72. 2 / 52.72. 2
libavformat   52.64. 2 / 52.64. 2
libavdevice   52. 2. 0 / 52. 2. 0
libavfilter    1.19. 0 / 1.19. 0
libswscale     0.11. 0 / 0.11. 0
libpostproc   51. 2. 0 / 51. 2. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'


###############################################################################
添加水印功能:
下载:
svn co svn://svn.ffmpeg.org/ffmpeg/trunk /usr/local/src/ffmpeg
svn co svn://svn.ffmpeg.org/soc/libavfilter /usr/local/src/libavfilter

然后:
cp /usr/local/src/libavfilter/vsrc_movie.c /usr/local/src/ffmpeg/libavfilter/

修改这个文件,并添加以下二行内容:
vim /usr/local/src/ffmpeg/libavfilter/allfilters.c

REGISTER_FILTER (OVERLAY,     overlay,     vf);
REGISTER_FILTER (MOVIE,       movie,       vsrc);


修改这个文件,并添加以下二行:
vim /usr/local/src/ffmpeg/libavfilter/Makefile

OBJS-$(CONFIG_OVERLAY_FILTER)                += vf_overlay.o
OBJS-$(CONFIG_MOVIE_FILTER)                  += vsrc_movie.o

加入二个软件:
yum install xvidcore xvidcore-devel yasm

进入ffmpeg目录,重新编译安装:
cd /usr/local/src/ffmpeg
./configure --prefix=/usr --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libmp3lame --enable-libx264 --disable-ffplay --enable-shared --enable-libmp3lame --enable-gpl --enable-pthreads --enable-libfaac --enable-postproc --enable-x11grab --enable-libgsm --enable-libx264 --enable-swscale --enable-nonfree --enable-avfilter --disable-yasm

make
make install
ldconfig


转码方法:(加水印)
ffmpeg -i "/AA/1.mov" -vf "movie=0:png:umelook.png [wm];[in][wm] overlay=10:10:1 [out]" -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre slow -crf 22 -threads 0 222.MP4

 

显示在视频的左上角overlay参数为 overlay=0:0

显示在右上角为 overlay= main_w-overlay_w:0

显示在右下角为 overlay= main_w-overlay_w:main_h-overlay_h

显示在左下角为 overlay=0: main_h-overlay_h

上面的0可以改为5,或10像素,以便多留出一些空白。


提取影版时间方法:
ffmpeg -i "/root/test.wmv" 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//

影片截图方法:
/usr/bin/ffmpeg -i 1.mov -ss 00:00:43 -t 00:00:01 -s 120x90 -r 1 -f mjpeg1.jpg

参数方面的问题,我还没怎么研究明白,有弄这个的,还请一起交流交流

注:
/root/test.wmv 是待转码的电影源文件
logo.png是水印图片,需要指定路径,否则找不到该图片(图片为透明背景)
overlay=20:20:1是水印在影片中的位置,从左上角算起,像素,1是透明度值
222.mp4是转成后的mp4电影

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics