源码地址
libx264 http://download.videolan.org/x264/snapshots/ 最新版
yasm http://yasm.tortall.net/Download.html 版本为yasm-1.3.0(yasm是汇编编译器,因为ffmpeg中为了提高效率用到了汇编指令)
ffmpeg http://www.ffmpeg.org/download.html 版本为ffmpge-4.2.3
安装过程
关于yasm和ffmpeg常规安装方式,可以看我上一篇,链接为:
那么本篇的编译命令会和上一篇中有一些出入,然后废话就不多说了,直接来安装。
libx264安装
关于libx264可以进上面给的链接进去,然后翻到比较新的版本进行安装,翻到最底下最近的更新版本为2019年12月的,然后下载到本地,但如果网速不好的话,想要移到上面这个位置,没有梯子,可能要个半小时了,也可能中途卡死。。。我是开着梯子拉到这个位置,但还是选择复制名字直接用命令了。。所以步骤为:
wget ftp://ftp.videolan.org/pub/x264/snapshots/x264-snapshot-20191201-2245-stable.tar.bz2
tar -zxvf x264-snapshot-20191201-2245-stable.tar.bz2
cd x264-snapshot-20191201-2245-stable/
./configure --enable-static --enable-shared –enable-yasm
make
make install
Unknown option –enable-yasm, ignored
platform: X86_64
byte order: little-endian
system: LINUX
cli: yes
libx264: internal
shared: yes
static: yes
asm: yes
interlaced: yes
avs: avxsynth
lavf: yes
ffms: no
mp4: no
gpl: yes
thread: posix
opencl: yes
filters: resize crop select_every
lto: no
debug: no
gprof: no
strip: no
PIC: yes
bit depth: 8
chroma format: all
ffmpeg安装
ffmpeg其它的安装过程没有变,只是configure的时候需要带上参数,整个安装步骤的解释可以看上一篇文章,这里只记录命令:
tar ffmpeg-4.2.3.tar.bz2
cd ffmpeg-4.2.3
./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-libx264 --enable-gpl --enable-pthreads
make
make install
#ffmpeg
export PATH=/usr/local/ffmpeg/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib/
然后来测试,发现会报错:ffmpeg: error while loading shared libraries: libx264.so.157: cannot open shared object file: No such file or directory
这时候我们还需要将其加载到共享库:
vim /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
执行 ldconfig,重新推流,问题解决:
推流测试
如果看了上篇安装srs服务器,那么本次测试服务器的命令如下:
ffmpeg -re -i PCA.flv -strict -1 -c:v libx264 -f flv rtmp://127.0.0.1:1935/live/1679091c5a880faf6fb5e6087eb1b2dc
而在win环境下用ffplay拉流的命令:
.\ffplay.exe rtmp://服务器ip:1935/live/1679091c5a880faf6fb5e6087eb1b2dc