centos7下FFmpeg环境部署记录

随着视频在网站上的应用越来越多,越来越多的网站服务器需要支持视频转码,视频压缩,FFmpeg是目前最好用的网站服务器后台转码程序,应用最多。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。下面介绍下在Centos7下针对FFmpeg的部署记录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1)安装EPEL Release,因为安装需要使用其他的repo源,所以需要EPEL支持
[root@qd-vpc- op -snapshot01 ~] # yum install -y epel-release
[root@qd-vpc- op -snapshot01 ~] # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7          //如果出现缺少Code提示,就执行此条命令。
[root@qd-vpc- op -snapshot01 ~] # yum repolist            //安装完成之后,可以查看是否安装成功
 
2)安装Nux-Dextop源
[root@qd-vpc- op -snapshot01 ~] # rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro         //导入一个Code
[root@qd-vpc- op -snapshot01 ~] # rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm         //安装nux-dextop 源
[root@qd-vpc- op -snapshot01 ~] # yum repolist      #查看repo源是否安装成功
 
3)安装ffmpeg
[root@qd-vpc- op -snapshot01 ~] # yum install -y ffmpeg
[root@qd-vpc- op -snapshot01 ~] # ffmpeg -version
ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers
built with  gcc  4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
configuration: --prefix= /usr  --bindir= /usr/bin  --datadir= /usr/share/ffmpeg  --incdir= /usr/include/ffmpeg  --libdir= /usr/lib64  --mandir= /usr/share/man  --arch=x86_64 --optflags= '-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic'  -- enable -bzlib --disable-crystalhd -- enable -gnutls -- enable -ladspa -- enable -libass -- enable -libcdio -- enable -libdc1394 -- enable -libfaac -- enable -nonfree -- enable -libfdk-aac -- enable -nonfree --disable-indev=jack -- enable -libfreetype -- enable -libgsm -- enable -libmp3lame -- enable -openal -- enable -libopenjpeg -- enable -libopus -- enable -libpulse -- enable -libschroedinger -- enable -libsoxr -- enable -libspeex -- enable -libtheora -- enable -libvorbis -- enable -libv4l2 -- enable -libx264 -- enable -libx265 -- enable -libxvid -- enable -x11grab -- enable -avfilter -- enable -avresample -- enable -postproc -- enable -pthreads --disable-static -- enable -shared -- enable -gpl --disable-debug --disable-stripping --shlibdir= /usr/lib64  -- enable -runtime-cpudetect
libavutil      54. 20.100 / 54. 20.100
libavcodec     56. 26.100 / 56. 26.100
libavformat    56. 25.101 / 56. 25.101
libavdevice    56.  4.100 / 56.  4.100
libavfilter     5. 11.102 /  5. 11.102
libavresample   2.  1.  0 /  2.  1.  0
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  1.100 /  1.  1.100
libpostproc    53.  3.100 / 53.  3.100

为了方面后续的安装,特意编写一个shell脚本,进行一键安装

1
2
3
4
5
6
7
8
9
10
11
12
[root@qd-vpc- op -snapshot01 ~] # cat ffmpeg_install.sh
#!/bin/bash
yum  install  -y vim
yum  install  -y epel-release
rpm -- import  /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
yum repolist
rpm -- import  http: //li .nux.ro /download/nux/RPM-GPG-KEY-nux .ro
rpm -Uvh http: //li .nux.ro /download/nux/dextop/el7/x86_64/nux-dextop-release-0-1 .el7.nux.noarch.rpm
yum repolist
yum update -y
yum  install  -y ffmpeg
ffmpeg -version

FFmpeg常用基本命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
1)分离视频音频流
ffmpeg -i input_file -vcodec copy -an output_file_video   // 分离视频流
ffmpeg -i input_file -acodec copy -vn output_file_audio   // 分离音频流
 
2)视频解复用
ffmpeg –i  test .mp4 –vcodec copy –an –f m4v  test .264
ffmpeg –i  test .avi –vcodec copy –an –f m4v  test .264
 
3)视频转码
ffmpeg –i  test .mp4 –vcodec h264 –s 352*278 –an –f m4v  test .264               // 转码为码流原始文件
ffmpeg –i  test .mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v  test .264   // 转码为码流原始文件
ffmpeg –i  test .avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi             // 转码为封装文件
//-bf  B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制
 
4)视频封装
ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file
 
5)视频剪切
ffmpeg –i  test .avi –r 1 –f image2 image-%3d.jpeg         // 提取图片
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi     // 剪切视频
//-r  提取图像的频率,-ss 开始时间,-t 持续时间
 
6)视频录制
ffmpeg –i rtsp: //192 .168.3.205:5555 /test  –vcodec copy out.avi
 
7)YUV序列播放
ffplay -f rawvideo -video_size 1920x1080 input.yuv
 
8)YUV序列转AVI
ffmpeg –s w*h –pix_fmt yuv420p –i input.yuv –vcodec mpeg4 output.avi
 
主要常用参数说明:
-i 设定输入流
-f 设定输出格式
-ss 开始时间
视频参数:
-b 设定视频流量,默认为200Kbit /s
-r 设定帧速率,默认为25
-s 设定画面的宽与高
-aspect 设定画面的比例
-vn 不处理视频
-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
音频参数:
-ar 设定采样率
-ac 设定声音的Channel数
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器
-an 不处理音频
***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/7553179.html,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值