爱板网论坛

查看: 81|回复: 0

[原创] 【BPI-M2 berry试用心得】使用librtmp拉取直播数据流

[复制链接]

7

主题

0

好友

209

积分

秀才

Rank: 3Rank: 3

该用户从未签到

发表于 2017-11-9 19:50:26 |显示全部楼层
本帖最后由 手手挤挤 于 2017-11-9 19:50 编辑

目录
1、准备工具
2、代码编写

3、编译librtmp(附加)
——————————————————————————————————————————————————

1、准备工作
安装依赖
  1. sudo apt-get install openssl
  2. sudo apt-get install libssl-dev
  3. sudo apt-get install libffi-dev
复制代码
0.jpg
  1. sudo apt-get librtmp-dev
复制代码
  1. pip install python-librtmp
复制代码
测试下是否成功
  1. python

  2. import librtmp
复制代码
没有错误就是没问题啦
2、代码编写
  1. import librtmp as lrt
  2. import os

  3. if os.path.exists('1.flv'):
  4.     os.remove('1.flv')
  5. os.mknod("1.flv")
  6. f=open("1.flv",'wb+')
  7. conn=lrt.RTMP("rtmp://192.168.31.133/live/livestream/carlpc",live=True)

  8. conn.connect()
  9. stream = conn.create_stream()

  10. for i in range(1,1000):
  11.     data = stream.read(1024)
  12.     f.write (data)
  13. f.close()
  14. conn.close()
复制代码
这边代码需要缩进,你们自己调整啦,这个编辑器不好调整
最后,可以看到目录下会生成1.flv的文件,也就是拉流拉倒数据了。
至于FLV文件的格式是什么样子的,教程很多,我也不多多说了。
rtmp的协议在这个库中完全屏蔽了底层封装,握手、建连、建流的一个过程,每个过程都有不同的指令来控制,这里就不多说了,我还是直接上个抓包的图吧。有兴趣的再私下去分析
2017-11-09_194110.jpg


3、编译librtmp(附加)
有一些人在电脑平台上,用apt 或者yum会安装不上librtmp,这里建议自己编译连接生成动态链接库下,
方法如下
  1. git clone git://git.ffmpeg.org/rtmpdump
  2. cd rtmpdump/librtmp/
  3. make & sudo make install
复制代码
1.jpg
2.jpg


安装完成后,还需要拷贝链接库到指定lib下
  1. cp /usr/local/lib/librtmp.so.1 /usr/lib64/
复制代码
到这里也就能解决大部分问题了


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /2 下一条

手机版|爱板网 |网站地图  

GMT+8, 2017-11-25 08:16 , Processed in 0.220739 second(s), 11 queries , Memcache On.

苏公网安备 32059002001056号

Powered by Discuz!

回顶部