ffmpeg与srs3编译以及常用命令测试总结

引言

yasm安装

首先我们先安装yasm,yasm是一个完全重写的NASM汇编。目前,它支持x86和AMD64指令集,接受NASM和气体汇编语法,产出二进制, ELF32 , ELF64 , COFF , Mach - O的( 32和64 ) , RDOFF2 ,的Win32和Win64对象的格式,并生成STABS 调试信息的来源,DWARF 2 ,CodeView 8格式。之所以在FFmpeg中用这个,主要是支持编译ffmpeg-x264。(来源于百度百科)

具体的安装命令为:

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

tar xzvf yasm-1.3.0.tar.gz

cd yasm-1.3.0
./configure
make && make install

上面步骤基本不会出现问题,按着一步步来如果终端没有报错那么就是编译成功,接下来就编译ffmpeg。

ffmpeg安装

打开官网地址,进入下载页:https://ffmpeg.org/download.html#build-linux

进去后下载最新版的ffmpeg包,然后上传到服务器上,当然,也可以用wget去找别的网站中已经分享的安装包,不过推荐还是官网,安装包下载完后,接下来的命令和上面的yasm大同小异,但如果上面的yasm没有安装,直接预装ffmpeg,可能就要加参数–disable-yasm,表示禁用yasm,但本地服务器我忘记咋装的了,不过云服务器好像直接ffmpeg安装没出现问题,下面是命令:

tar ffmpeg-4.2.3.tar.bz2
cd ffmpeg-4.2.3

./configure --enable-shared --prefix=/usr/local/ffmpeg --disable-yasm
make
make install

这里make的时间有点长,一般可能要等个十几分钟左右,make完后,make install会很快,出现如下界面即安装成功。
ffmpeg与srs3编译以及常用命令测试总结_第1张图片

然后我们可以考虑加软链接或者直接写进配置里,不过我更喜欢写进配置文件,因为软链接如果加很多,之后并不是很方便管理,如果是按上面路径来的,那么写入/etc/profile配置下为:

#ffmpeg
export PATH=/usr/local/ffmpeg/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib/

加载进配置文件后就可以全局使用命令了:
ffmpeg与srs3编译以及常用命令测试总结_第2张图片
另外win下或者ubuntu的安装更为简单,我记得去年我写过一篇win下使用ffmpeg的,那个是我域名还没到期的时候,做了个个人网站的首页视频,然后转成m3u8文件利于转播,现在也忘了当初咋想的了。。。

windows下使用FFMpeg转码视频并于VLC网络流上播放

如果是ubuntu的安装,可以先将ppa添加进仓库然后apt-get,之前也有尝试过:

sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

sudo apt-get update

sudo apt-get install ffmpeg

ffmpeg -version

srs3安装

这个是我这几天在装的东西,也是写这一篇博客的初衷,总结一下安装过程与测试命令,防止之后忘记。

srs是定位于互联网直播服务器集群的开源框架,它的已实现功能有:

  • 推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。
  • SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码。
  • 可以将流转发给其他服务器、转封装成HTTP-FLV流,转封装成HDS、录制成FLV。
  • SRS包含大规模集群的关键特性,譬如RTMP多级集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群。
  • SRS还提供丰富的应用接口,包括HTTP回调 安全策略Security、HTTP API接口、测速。

以上五点取自0基础搭建自己的srs直播服务器及srs常见问题 。这篇的理论介绍很多,并且给出的参考推荐也有非常多,我感觉算csdn在srs里为数不多的好文,那么下面,就是我的安装过程:

首先如果服务器上没有Git,可以下个Git,centos上yum install就行,但如果服务器上Git有提速,我建议还是不要用Git拉取srs等东西,因为速度比之前去GitHub下zip文件慢了好几倍。。但下面还是给出两个链接吧:

git clone https://github.com/winlinvip/simple-rtmp-server
git clone https://github.com/ossrs/srs

上述两个只需要拉取一个,然后下面是编译过程:

cd srs/trunk
./configure && make

注意这里没有make install,一般到这里就行了,我们能看到安装成功的图片:
ffmpeg与srs3编译以及常用命令测试总结_第3张图片

然后我们就能直接启动了。

./objs/srs -c conf/srs.conf
或者
./objs/srs -c conf/rtmp.conf

下面那个命令执行完,可以直接进入到log文件里看到启动日志,有没有错误,如果测试看起来没什么问题,那能换上面那个更全一点的conf启动,然后ps -ef | grep srs看到启动进程如下:
在这里插入图片描述
我们再手动去srs.log文件下看到启动日志如下:
ffmpeg与srs3编译以及常用命令测试总结_第4张图片
然后查看监听服务情况,没啥问题就是启动成功了:
ffmpeg与srs3编译以及常用命令测试总结_第5张图片

最后我们可以尝试推流,因为srs现在是下在本地,那么推流命令为:

ffmpeg -re -i PCA.flv -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/mydemo

ffmpeg与srs3编译以及常用命令测试总结_第6张图片
因为我这个视频比较大,今晚时间有点晚了,服务器比较慢我就直接关了,可以开两个端口,一个是等着推流,一个是看日志有没有什么问题,没问题能用ffplay或者VLC查看推流出来的内容,如果没问题,那么以上全部安装成功!

你可能感兴趣的:(Linux)