FFMPEG之编码实现RTMP循环推流(附带av_interleaved_write_frame返回-22处理)

前言

本篇是参考雷神的推流进行二次处理的,可以参考雷神这篇博客。[最简单的基于FFmpeg的推流器(以推送RTMP为例)](https://blog.csdn.net/leixiaohua1020/article/details/39803457)。

为了防止遗忘,在此记录下来当时做题的过程。我当时实现这个功能的时候,确实非常困难,参考的博客不多,而且还被许多博客带偏了。。。前天开始弄,连续两晚通宵达旦,难受。 1)本篇思路是非常简单的,就是每次播放完毕利用av_seek_frame()就将ifmt_ctx往回移即可;然后重新播放。 以下是我遇到的问题 Q1:第一次读完毕后,av_read_frame返回-11,然后再读的时候结果发现pts、dts为很大的负数,无法继续执行; Q2:于是我往着时间戳的方面入手,结果打印pts,dts一看,前一帧的pts=80(假设数据),后一帧的pts=40,这样的话av_write_frame在写帧时就会报错,返回-22;于是我又找,发现雷神调用这两个函数在舍弃小数时会舍弃掉几十秒,造成pts前后帧不是顺序排序,解决就是换成我下面代码的那个函数,两个实际是一样的,只不过我的不会舍弃小数。 解决上面的后,运行结果还是不对,于是我以为是av_seek_frame()的问题,百度搜。。。但是也没有太好的答案,然后随便用一个,去打印了第一次循环播放的前一帧和第二次循环播放的第一帧,结果发现是一样的数据

FFMPEG之编码实现RTMP循环推流(附带av_interleaved_write_frame返回-22处理)04相关推荐

  1. 【音视频】使用FFMPEG进行RTSP|RTMP|HLS推流(3-3)

    前言:我最近在用ffmpeg研究各种网络推流,小有成果,所以写了一篇推流合集的文章记录一下最近关于推流的研究的进展情况. 我在之前搭建了RTMP和RTSP服务器的基础上(参考<[音视频]RTSP ...

  2. 如何让ffplay或者ffmpeg支持H265编码的rtmp/http-flv 实时直播流

    很多初学者不知道ffplay或者ffmpeg是不支持flv封装的rtmp/http-flv流的,其原因是flv不支持H265编码payload的,因为当时制定flv封装协议的时候,H265还没出来,现 ...

  3. FFmpeg循环推流

    正常推流命令: ffmpeg -i 文件名 -c copy -f flv rtmp://IP:端口/test(分组名)/1 循环推流命令: ffmpeg -re -stream_loop -1 -i ...

  4. windows下ffmpeg+nginx-rtmp环境搭建及opencv+ffmpeg+python实现拉流和rtmp直播推流

    由于工作需要最近在研究rtsp拉流与直播推流的问题,目前先在我本机上进行了实验,本博客记录学习的内容,包含windows下ffmpeg.nginx-rtmp环境搭建及opencv+ffmpeg+pyt ...

  5. 【Android RTMP】RTMP 直播推流阶段总结 ( 服务器端搭建 | Android 手机端编码推流 | 电脑端观看直播 | 服务器状态查看 )

    文章目录 安卓直播推流专栏博客总结 一. 服务器搭建 二. 手机端推流 三. 电脑端观看直播 四. RTMP 服务器端状态 安卓直播推流专栏博客总结 Android RTMP 直播推流技术专栏 : 0 ...

  6. 多路HDMI编码转RTMP多平台推流直播导播方案

    多路HDMI编码转RTMP多平台推流直播导播方案 今天我要给大家带来一个多路HDMI转RTMP多平台推流直播的方案,咱也不说这个方案是最优,但性能和稳定性却是响当当的好,该设备采用华为海思Hi3531 ...

  7. windows下ffmpeg结合Nginx搭建RTMP,直播中的推流和拉流

    windows下ffmpeg结合Nginx搭建RTMP,直播中的推流和拉流 推流和拉流的概念 以及RTMP协议 在直播中,一般需要三个角色:主播,服务器,用户.主播通过推流将数据推到服务器上,而用户可 ...

  8. 如何使用OpenCV RTMP直播推流

    目录 本文前提 Python代码 推流测试 参数详解 码率控制 X264的preset和tune 参数优化 一般概念 本文前提 安装Python环境.安装OpenCV.安装安装FFmpeg并添加到系统 ...

  9. 使用ffmpeg读取本地文件,进行推流

    使用ffmpeg读取本地文件,进行推流,跳到指定时间播放. 注意MP4文件h264_mp4toannexb与aac_adtstoasc. 要实现循环播放注意两点: 1.播放到结尾,跳到开始位置重新播放 ...

最新文章

  1. word一键排版工具_超赞的Word标尺小工具,轻松帮你搞定各种「对不齐」排版问题...
  2. [SQL]实战之查找员工编号emp_no为10001其自入职以来的薪水salary涨幅值growth
  3. abb变频器如何拷贝_教你变频器参数怎样简单设置
  4. 在Ubuntu上搭建Hadoop群集
  5. javascript 计算后 无聊的小数点处理
  6. gcc/g++ 如何支持c11/c++11标准编译
  7. Hadoop原理——HDFS原理
  8. mysql 优化面试题
  9. Casper与V神的博弈论(过节了,文末送大礼)
  10. android mt4 macd,超准确的4小时MACD交易策略
  11. 20220527_Java_反射的各种方法
  12. python gdal迭代写为ENVI的dat格式
  13. 3dmax布尔运算差集后图形消失怎么办
  14. 模拟京东快递单号查询案例
  15. 18个Java开源CMS系统一览
  16. linux连不上网问题总结
  17. 程序员数学(18)–平行四边形
  18. 千兆以太网PHY芯片调试-88E1111(RGMII接口-数据收发ECHO测试) Verilog实现python测试
  19. 【谷粒商城】ElasticSearch、上架与检索
  20. jsp中定义日期格式

热门文章

  1. 649. Dota2 参议院
  2. 少样本 N-way K-shot
  3. java姓名模糊查询_java 模糊查询。(转)
  4. 杨思祺 大数据和人工智能
  5. 利用python opencv2进行多图片摘要
  6. Unity学习笔记(一)~介绍以及入门
  7. 钟汉良日记:一个好演员才能做一个好网红
  8. bk3432,bk3633,BK3431Q蓝牙软件代码与原理图 PCB
  9. pyrthon 简单爬虫实现
  10. matlab改变示波器颜色,MatlabSimulink示波器的背景色