Ubuntu+FFmpeg源码+H264+RTMP推流具体DEMO

因为项目的需要,需要将摄像头的实时流,通过ffmpeg源码实现将一帧帧的H264数据推流到Nginx服务器上。
程序运行时出现报错:

Stream #0:0: Unknown: none

后来发现是在add_stream这一步没有将编码器打开

**解决办法:**添加编码器部分

这次编译运行却又出现新问题,配置编码器失败

[vp8_v4l2m2m @ 0x56195db9f9f0] Could not find a valid device
[vp8_v4l2m2m @ 0x56195db9f9f0] can't configure encoder

后来发现是FFmepg库编译是没有将X264编译进去
解决办法:
下载x264源码编译生成libx264.so库,重新编译FFmpeg并将x264添加进去
编译方法:

git clone https://code.videolan.org/videolan/x264.git
cd x264         //进入x264源码文件目录下
./configure --enable-shared
make
sudo make install
sudo cp /usr/local/lib/libx264.so.164 /lib          //生成文件的默认路径为:/usr/local/libcd ffmpeg     //进入ffmpeg源码文件目录下
./configure --enable-shared --disable-yasm --enable-libx264  --enable-gpl  --prefix=/home/jiajia/ffmpeg-x64
make
make install

将ffmpeg编译生成的库文件替换掉原来的,编译运行

发现又出现新问题,因为编译安装libx264 的时候加入了–disable-nasm
FFmpeg libx264 :use cpu capability none!

解决办法:
下载nasm源码编译安装,重新编译x264

wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
tar -xvf nasm-2.14.02.tar.bz2
cd nasm-2.14.02
./configure
make
sudo make install

将x264编译生成的库文件替换掉原来的,编译运行:成功!

完结,撒花!

ffmpeg源码实现H264推流相关推荐

  1. ffmpeg源码优化之推流发送篇

    1.引言 大家好,距离上篇文章已经过去有一段时间了,主要是最近太忙了,一直没有更新.今天总算能抽出一点时间,说说ffmpeg源码级别的优化了,这块应该会连载,请大家持续关注.废话不多说,接下来就进入正 ...

  2. Ubuntu+FFmpeg源码+H264+RTMP推流

    PC端通过FFmpeg源码实现将H264数据RTMP推流到Nginx服务器上,这个是用于PC端的测试demo,程序可以直接移植到ARM版本中,需要将库文件交叉编译,以及修改对应的交叉编译工具链即可. ...

  3. FFmpeg源码编译出支持音频AAC编码以及H264,H265编码的库

    先决条件: 需要安装msys2(是一个在windows中模拟linux操作系统的软件) 由于在linux中编译ffmpeg比较简单, 所以利用一下msys2, 直接去官网下载安装即可 需要安装visu ...

  4. ffmpeg源码分析与应用示例(一)——H.264解码与QP提取

    本文包含以下内容 1.H.264解码流程详述与对应ffmpeg源码解析 2.针对一个应用实例介绍通过修改ffmpeg源码解决问题的方案 具有较强的综合性. 先介绍一下在第二部分中将要解决的实际问题:自 ...

  5. 一对一直播app源码开发,推流技术的实现

    在说一对一直播app源码推流技术之前,先说一对一直播app源码推流的过程:采集-->前处理-->编码-->推流--->流分发--->播放. 1.采集:音视频采集 pc段屏 ...

  6. WINDOWS 下编译 ffmpeg 源码总结

    WINDOWS 下编译 ffmpeg 源码,有两种方式:VC.GCC 1.VC 编译:   https://github.com/ShiftMediaProject/FFVS-Project-Gene ...

  7. Android录屏并利用FFmpeg转换成gif(二)交叉编译FFmpeg源码

    Android录屏并利用FFmpeg转换成gif(二) 写博客时经常会希望用一段动画来演示app的行为,目前大多数的做法是在电脑上开模拟器,然后用gif录制软件录制模拟器屏幕,对于非开发人员来讲这种方 ...

  8. UOS系统下FFmpeg源码编译安装及注意事项

    条件 当前编译环境:国产UOS系统(基于linux),CPU是ARM架构 需要安装ffmpeg 3.4版本. 通过源码编译进行安装使用 下载源码 在github上将ffmpeg源码下载到本地:下载地址 ...

  9. FFMPEG源码分析(二)

    ffmpeg源码分析之数据流 本文主要介绍ffmpeg的数据流,在ffmpeg中主要分有三个主要用途用于媒体流的解码播放,媒体流的转换(解码之后再编码)和媒体流录制. 媒体流的解码播放 在ffmpeg ...

最新文章

  1. Codeforces.1051F.The Shortest Statement(最短路Dijkstra)
  2. Blender3.0电影级别CG场景制作视频教程
  3. 计算机专业好的广东二本学校排名2015,2015年广东省二本大学排名名单
  4. mysql int 默认值 为ull_数据类型--ULL、ll
  5. 地图 c-suite_C-Suite的模型
  6. html的表格使用函数,从另一个HTML表格创建HTML表格的jQuery函数
  7. 请教一些关于EF+oracle的问题
  8. 20150317--TP
  9. v4l2loopback -- 源码分析
  10. Open the World 丨 COSCon'22志愿者招募正式启动
  11. idea java文件重命名_IDEA项目重命名的操作
  12. cannot be cast to com.xxx.xxx.model.User] with root cause
  13. 大数据学习之Flink环境搭建+提交任务方式
  14. HEP惠普SN3600B,H3C新华三CN3360B光纤交换机调试配置方法
  15. Lulu的自动化测试学习(一)
  16. 基础概念之电路板的概念
  17. MySQL 5.7.20 Group Relication(组复制)搭建手册
  18. JDBC连接执行 MySQL 存储过程报权限错误:User does not have access to metadata required to determine stored procedur
  19. linux安装cherrytree.tar.xz,Linux上安装CherryTree,报错无法找到 gtksourceview2
  20. 服务器开机一直显示dhcp,关于电脑开机显示dhcp是什么意思

热门文章

  1. 立此存照之人生三十六式
  2. 智慧校园 教师端操作手册
  3. Linux C/C++ 调试的那些“歪门邪道”
  4. Oracle迁移工具有哪些,数据迁移工具简单分析
  5. 图像处理中,关于对比度,亮度,饱和度这些指标的概念
  6. 清华同方计算机教程,清华同方台式计算机如何设置BIOS来启动U盘教程
  7. 大学生学计算机专业开学要带电脑吗,大学新生刚开学需要带电脑吗
  8. 泉州师范学院计算机课程表,泉州师范学院课程表.doc
  9. 久保由利香杂志翻译校队稿
  10. 企业宣传型网站有什么好处?