当前位置: 首页 > news >正文

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

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

这面也有一个做好的容器

相关文章:

  • 智慧校园整体解决方案
  • 番外篇 | SEAM-YOLO:引入SEAM系列注意力机制,提升遮挡小目标的检测性能
  • 小说阅读器 ebook-reader
  • Silverlight发展历程(微软2021年已经停止支持Silverlight 5)
  • ESP32之本地HTTP服务器OTA固件升级流程,基于VSCode环境下的ESP-IDF开发(附源码)
  • leetcode0112. 路径总和-easy
  • 每日算法【双指针算法】(Day 2-复写零)
  • 搜广推校招面经七十八
  • Linux系统编程之守护进程与调试技术
  • 施磊老师基于muduo网络库的集群聊天服务器(二)
  • 大模型如何突破“知识盲区”?一场静悄悄的技术革命正在发生
  • Pytest 的配置和命令行选项:掌控你的测试执行 (Pytest 系列之七)
  • VirtualBox导入 .ova 文件出错,怎么解决
  • 【Linux学习笔记】进程调度与切换之O(1)调度算法
  • Oracle日志系统之重做日志和归档日志
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(四级)答案 + 解析
  • Python项目调用Java数据接口实现CRUD操作
  • 什么是Python单例模式
  • Python 3.13 support for PyTorch
  • python中MongoDB 的两个驱动
  • 湖南平江发生一起意外翻船事件,6人不幸溺亡
  • 普京签署有关批准俄罗斯与伊朗全面战略伙伴关系条约的联邦法令
  • 最高法报告点名“夜郎古酒”商标侵权案:促成当事人握手言和
  • 高架上2名儿童从轿车天窗探出身来,驾驶员被记3分罚200元
  • 纪念沈渭滨︱沈渭滨先生与新修《清史》
  • 体坛联播|巴萨三球逆转塞尔塔,CBA季后赛山西横扫广东