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

参考文章

支持 flv+h265 的ffmpeg编译安装_demuxer flv+hevc异常-CSDN博客

windwos有别人编译好的

支持HEVC/H265 RTMP播放的FFMPEG/FFPLAY WINDOWS版本

但是linux没有所以得自己编译

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

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

这位大神提供的源码

需要

配套资源下载

https://download.csdn.net/download/do_you_like_van_game/90660039

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

可以将海康flv的直播流转存,用于报警视频抓取

将flv直播流输出成mp4

相关推荐
科技小E5 小时前
EasyRTC嵌入式音视频通信SDK打造带屏IPC全场景实时通信解决方案
人工智能·音视频
追随远方7 小时前
FFmpeg在Android开发中的核心价值是什么?
android·ffmpeg
天上路人10 小时前
AI神经网络降噪算法在语音通话产品中的应用优势与前景分析
深度学习·神经网络·算法·硬件架构·音视频·实时音视频
视频砖家11 小时前
如何设置FFmpeg实现对高分辨率视频进行转码
ffmpeg·音视频·视频编解码·视频转码
yanjiee13 小时前
视频质量分析时,遇到不同分辨率的对照视频和源视频,分辨率对齐的正确顺序。
ffmpeg·音视频
Sleepless_斑马13 小时前
【FFmpeg+SDL】使用FFmpeg捕获屏幕,SDL显示
ffmpeg
hudawei99613 小时前
flutter缓存网络视频到本地,可离线观看
flutter·缓存·音视频
lqj_本人15 小时前
鸿蒙OS&UniApp实现视频播放与流畅加载:打造完美的移动端视频体验#三方框架 #Uniapp
uni-app·音视频·harmonyos
aningxiaoxixi17 小时前
FFMPEG 与 mp4
ffmpeg
Panesle18 小时前
基于对抗性后训练的快速文本到音频生成:stable-audio-open-small 模型论文速读
人工智能·机器学习·音视频