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,如需转载请自行联系原作者
相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云专有网络VPC使用教程
专有网络VPC可以帮助您基于阿里云构建出一个隔离的网络环境,并可以自定义IP 地址范围、网段、路由表和网关等;此外,也可以通过专线/VPN/GRE等连接方式实现云上VPC与传统IDC的互联,构建混合云业务。 产品详情:https://www.aliyun.com/product/vpc
相关文章
|
4月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
368 0
|
9天前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
5月前
|
编解码 Linux
CentOS安装ffmpeg并转码视频为mp4
CentOS安装ffmpeg并转码视频为mp4
177 0
|
3月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
791 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
2月前
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
4月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
325 80
|
3月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
312 0
虚拟机centos7.9一键部署docker
|
4月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
831 4
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
4月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
153 2
|
3月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
525 0