当前位置:   article > 正文

记Linux编译ffmpeg,支持264,265视频编码,lame音频编码_linux安装部署ffmpeg将rtsp转rtmp使用h264和h265

linux安装部署ffmpeg将rtsp转rtmp使用h264和h265
  • 首先在ffmpeg增加对265的支持代码。参照h264,增加h265(hevc) ,代码修改见参考url。
  • 主要依赖包和ffmpeg的安装过程。
  1. wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
  2. tar -zxvf pkg-config-0.29.2.tar.gz
  3. cd pkg-config-0.29.2/
  4. ./configure
  5. make
  6. make check
  7. make install
  8. pkg-config --version #验证
  9. unzip x264-stable.zip   (https://www.videolan.org/developers/x264.html)
  10. cd x264-stable
  11. ./configure --enable-shared --enable-static --disable-asm      # 未指定目录,动态库在/usr/local/lib。可添加prefix指定
  12. make -j8 & make install -j8
  13. x264 -V #验证
  14. git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
  15. cd nv-codec-headers
  16. make -j8 & make install -j8
  17. tar -zxvf x265_3.2.1.tar.gz (https://www.videolan.org/developers/x265.html)
  18. cd x265_3.2.1
  19. cd build/linux
  20. ./make-Makefiles.bash #若报./make-Makefiles.bash: 行 3: ccmake: 未找到命令 但目录生生成有Makefile文件,继续执行
  21. make -j8 && make install -j8
  22. x265 -V #验证。动态库找不到问题,ldd x265 查询库位置:拷贝 或 软链接 或 ldconfig 配置
  23. wget https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz
  24. tar -zxvf lame-3.100.tar.gz
  25. cd lame-3.100
  26. ./configure
  27. make -j8 && make install -j8
  28. lame -V #验证
  29. #wget http://www.ffmpeg.org/releases/ffmpeg-5.0.2.tar.gz
  30. #tar -zxvf ffmpeg-5.0.2.tar.gz
  31. cd ffmpeg-5.0.2/
  32. export PATH="$HOME/bin:$PATH"
  33. export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/:/usr/lib64/pkgconfig/"
  34. ./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-static --enable-debug --enable-libx264 --enable-libx265 --enable-libmp3lame --enable-gpl --disable-optimizations --disable-stripping --enable-version3 --disable-x86asm --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib #-I,-L是上面的动态库和头文件
  35. make -j8 && make install -j8
  36. ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg
  37. ffmpeg -version
  38. ffmpeg configure --help #使用格式
  39. ffmpeg configure -encoders #编码 grep H.
  40. ffmpeg configure -decoders #解码
  41. ffmpeg configure -protocols #协议

###############################

ffmpeg安装目录在/usr/local/ffmpeg
ffmpeg: error while loading shared libraries: libavdevice.so.59: cannot open shared object file: No such file or directory
find动态库位置,export LD_LIBRARY_PATH 或 修改 /etc/ld.so.conf,ldconfig 生效

export LD_LIBRARY_PATH=/usr/local/lib/:/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH

测试:

将视频进行h264编码,并推rtsp流

ffmpeg  -re -ss 00:00:00 -i h265.mp4 -rtsp_transport tcp -c:v libx264 -an  -b:v 995k -f rtsp rtsp://localhost/139367/e6

将视频进行h265编码,并推rtsp流

ffmpeg  -re -ss 00:00:00 -i h264.mp4 -rtsp_transport tcp -c:v libx265 -an  -b:v 995k -f rtsp rtsp://localhost/139366/e6

h265编码视频转码h264

ffmpeg -i h265.mp4 -c:v libx264 -an -b:v 995k -t 10 test.mp4

参考:ffmpeg 支持用h265编码的rtmp_ffmpeg h265 rtmp_howe8888的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/148786
推荐阅读
相关标签
  

闽ICP备14008679号