FFMPEG在编译的时候可以选择支持RTMP的类库libRTMP。这样ffmpeg就可以支持rtmp://, rtmpt://, rtmpe://, rtmpte://,以及 rtmps://协议了。但是如何使用ffmpeg支持RTMP协议还是有一定的学问的。本文总结一下部分经验。

ffmpeg接受一个字符串的输入方式,比如:“rtmp://xxxx live=1 playpath=xxx ...”这种的输入形式,即第一个字符串是rtmp的url,然后加一个空格,然后再附加一些参数。附加的参数的格式形如“playpath=xxxx”这种形式。这个乍一看让人觉得有点不习惯。因为一般的输入只包含一个字符串,比如说一个流媒体的url或者是文件的路径,不会采用“url+空格+参数1+参数2+...”的形式。

例如,当需要打开一个直播流的时候,可以用如下字符串(这里连接的是中国教育电视台1频道(网络直播)):

rtmp://pub1.guoshi.com/live/newcetv1

当需要用ffmpeg保存RTMP直播流媒体的时候:

ffmpeg -i "rtmp://pub1.guoshi.com/live/newcetv1 live=1" -vcodec copy -acodec copy ttt.flv

当需要用ffplay播放RTMP直播流媒体的时候:

ffplay "rtmp://pub1.guoshi.com/live/newcetv1 live=1"

在使用FFMPEG类库进行编程的时候,也是一样的,只需要将字符串传递给avformat_open_input()就行了,形如(这里连接的是香港电视台频道(网络直播)):

char url[]="rtmp://live.hkstv.hk.lxdns.com/live/hks live=1";
avformat_open_input(&pFormatCtx,url,NULL,&avdic)

注:librtmp支持的参数:http://rtmpdump.mplayerhq.hu/librtmp.3.html

在FFMPEG中使用libRTMP的经验相关推荐

  1. ffmpeg源码简析(十二)FFMPEG中的主要结构体总结

    FFMPEG中结构体很多.最关键的结构体可以分成以下几类: a) 解协议(http,rtsp,rtmp,mms) AVIOContext,URLProtocol,URLContext主要存储视音频使用 ...

  2. FFmpeg中可执行文件ffplay用法汇总

    从https://ffbinaries.com/downloads 下载最新的4.1版本的windows 64位FFplay.目前linux下的只有3.2版本的.FFplay是一个由FFmpeg和SD ...

  3. FFmpeg中AVDictionary介绍

    FFmpeg中的AVDictionary是一个结构体,简单的key/value存储,经常使用AVDictionary设置或读取内部参数,声明如下,具体实现在libavutil模块中的dict.c/h, ...

  4. 计算机游戏的产生,孩子容易沉迷计算机游戏,原来是因为过程中产生“心流”经验?...

    原标题:孩子容易沉迷计算机游戏,原来是因为过程中产生"心流"经验? 孩子容易沉迷计算机游戏,是因为过程中产生心流经验,从而获得满足感.在学习情境中,若也能提供促发心流经验的条件,自 ...

  5. FFmpeg 结构体学习(八):FFMPEG中重要结构体之间的关系

    FFMPEG中结构体很多.最关键的结构体可以分成以下几类: 解协议(http,rtsp,rtmp,mms) AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议 ...

  6. AI发展进入2.0时代!英特尔在落地中总结4大经验、分享7个案例

    欧凯 发自 凹非寺  量子位 报道 | 公众号 QbitAI AI发展和竞争,已经来到2.0时代. 这是一个落地为王关键的阶段. 在2019上海世界人工智能现场,谈论最多的话题也是AI落地和实践经验. ...

  7. 理解ffmpeg中的pts,dts,time_base

    首先介绍下概念: PTS:Presentation Time Stamp.PTS主要用于度量解码后的视频帧什么时候被显示出来 DTS:Decode Time Stamp.DTS主要是标识读入内存中的b ...

  8. 英特尔QSV技术在FFmpeg中的实现与使用

    本文来自英特尔资深软件工程师张华在LiveVideoStackCon 2018讲师热身分享,并由LiveVideoStack整理而成.在分享中张华介绍了英特尔GPU硬件架构,并详细解析了英特尔QSV技 ...

  9. FFmpeg中MPEG-4编码程序追踪,其他FFMPEG自带编码器同理

    FFmpeg中与MPEG-4编码相关的主要文件有mpegvideo.c,h263.c等. 在mpegvideo.c中, AVCodec mpeg4_encoder = {    "mpeg4 ...

最新文章

  1. php把数组组成xml,php 怎么将数组转xml的函数?
  2. 谈谈我理解的文化包容性
  3. python作品_学习 Python 有些枯燥?那是你学错方法了,看这里
  4. 关于Android 传感器坐标与读数的进一步讨论
  5. rsync android app,如何rsync到android
  6. 3. 逻辑漏洞之支付漏洞
  7. 解决DEFINE_string(result_path, result, Path for results) NameError:name 'os' is not defined
  8. 新世纪音乐——天籁之音
  9. 解决HD3000在OS X 10.10.2上横线和花屏问题
  10. Java对pdf文件进行压缩打包并执行下载
  11. Mybatis 入门到理解篇
  12. 程序员微信名昵称_适合程序员的微信号ID大全
  13. gmail支持html吗,gmail smtp
  14. 2015年3月CCF软考试题
  15. 21天刷题计划之2.1—禁忌雷炎(Java语言描述)
  16. Python采集喜马拉雅音频数据详解
  17. 论文阅读笔记《Regularizing Dialogue Generation by Imitating Implicit Scenarios》
  18. 机器学习-决策树算法原理及实现-附python代码
  19. 未来是一个三无的世界,三无具体指什么?
  20. 移动直播进入下半场盈利为王,突破打赏模式成关键

热门文章

  1. 开源编译工具和编译软件
  2. JSK-10926 各位数字之和的和【入门】
  3. NUC1014 排版题.输出排列成菱形的字母【打印图案】
  4. HDU2544 最短路【Dijkstra算法】
  5. HDU2094 产生冠军【set】
  6. 斐波那契数列的数学分析
  7. vsan Linux 网络磁盘,理解vSAN中的磁盘空间占用
  8. 找出最具竞争力的子序列_每日算法系列【LeetCode 376】摆动序列
  9. python入门基础知识实例-Python入门教程丨1300多行代码,让你轻松掌握基础知识点...
  10. python能做什么-python能干嘛