用ffmpeg 实现拉取h265的flv视频转存成264的mp4 实现方案

发布于:2025-04-21 ⋅ 阅读:(83) ⋅ 点赞:(0)

1.需要对ffmpeg进行源码修改

这里使用 https://github.com/numberwolf/FFmpeg-QuQi-H265-FLV-RTMP

这位大神提供的源码

需要

x265_3.2.1.tar.gz

last_x264.tar.bz2

fdk-aac-2.0.1.tar.gz 

FFmpeg-QuQi-H265-FLV-RTMP-master.zip

这些包

升级ubuntu18.04 

apt update
apt install zip
apt install git
apt install curl
apt install -y vim

编译x264
 

tar -xvjf last_x264.tar.bz2
cd x265_3.2.1/build/linux
./configure --enable-shared --enable-static --disable-asm --prefix=/home/linux-libx264
make
make install

编译x265

tar zxvf x265_3.2.1.tar.gz
cd x265_3.2.1/build/linux
apt install build-essential
apt install cmake
apt install cmake-curses-gui
./make-Makefiles.bash
按c
按e
按g
make && make install

编译 fdk-aac
 

tar zxvf fdk-aac-2.0.1.tar.gz
cd fdk-aac-2.0.1
./configure --prefix=/home/linux-libfdk_aac
make
make install

编译ffmpeg

./configure --enable-shared --enable-openssl --enable-shared --enable-static --disable-debug --prefix=/home/linux-ffmpeg --enable-gpl --enable-libx264 --extra-cflags=-I/home/linux-libx264/include --extra-ldflags=-L/home/linux-libx264/lib --enable-encoder=libx265 --enable-decoder=hevc --enable-libx265 --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-libfdk-aac --extra-cflags=-I/home/linux-libfdk_aac/include --extra-ldflags=-L/home/linux-libfdk_aac/lib --extra-libs=-ldl --enable-nonfree --disable-x86asm --enable-ffmpeg
make -j4
make install

动态库设置

vim /etc/ld.so.conf

/usr/local/lib/
/home/linux-ffmpeg/lib/
/home/linux-libfdk_aac/lib/
/home/linux-libx264/lib/

执行命令

./ffmpeg -i "https://xx.com/flv" -vcodec h264 -t 10 "/home/file/cc.mp4"


./ffmpeg -i "https://xx.com/flv" -ss 2 -vframes 1 "/home/file/output.jpg"

google浏览器页面支持h265的前端播放器

https://github.com/EasyDarwin/EasyPlayer.js/tree/main/html-demo

这面也有一个做好的容器


网站公告

今日签到

点亮在社区的每一天
去签到