centos 下 ffmpeg 转码和添加水印

26点 林涛 19528℃ 0评论

建立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 120×90 -r 1 -f mjpeg1.jpg

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

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

原文地址:http://aiape.iteye.com/blog/2024464

如需转载请注明: 转载自26点的博客

本文链接地址: centos 下 ffmpeg 转码和添加水印

转载请注明:26点的博客 » centos 下 ffmpeg 转码和添加水印

喜欢 (0)or分享 (0)
0 0 投票数
文章评分
订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

19 评论
内联反馈
查看所有评论
www.tmcore.com

谢谢博主分享,很实用! 欢迎回访:www.tmcore.com

奇虎分享网

这个文章写的好,转走了!

非常感谢分享如此好的文章,赞一下!

北京室内装饰

感谢分享 祝您开心快乐每一天北京装修公司

男孩资源网

文章很好~!赞

男孩资源网

文章很好~!赞

猪OK网

学习

优品家具

学习了,这个刚好有需要,谢谢

上海婚介

多谢分享,学习了

试玩平台

多谢分享,学习了

很详细的思路,学习了

教室网

很不错!按照你的思路已经做了一个demo 挺好用的 谢谢@!

多谢分享

changxiaoer

举报了上面的广告评论。来您的博客主要是想咨询您。关于登录验证,以及保持登录状态的问题。这方面您有没有相关的资料或者指导。。。原来我们的网站 app ,登录成功后,会将 用户的userid加密后存在用户本地。然后只要这个字符串不变,就一直保持登录状态。现在要求,如果用户在登录状态下,修改了电话或者密码 都要用户重新登录,或者是更新本地的校验字符串。我考虑了很久,本地不能存用户的密码以及其他信息,可逆加密的和不可逆的都不安全,那本地该存什么字符串,怎么存,会话的时候,如何验证,才能保证用户登录状态是真实的,而且可以多设备同时登录呢?还望指导。。。一二。。谢了!!盼复。

changxiaoer

谢谢了!我根据你说的想一下。

类风湿医院

顶!此回复虽仅有一字,却深刻地表达了本人的深深情感,可谓言简意赅,一字千金,扣人心弦!再加上以感叹号收尾,点睛之笔,妙笔生花,意境深远!顶虽然不难写,难得是s楼主喝到完全找不到开机键在哪里时,但依然来发文的精神。

青梅历史网

先收藏了,谢谢分享

资本在线

写的很详细啊!谢谢分享。

19
0
希望看到您的想法,请您发表评论x