查看: 3571|回复: 0

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

[复制链接]
  • TA的每日心情
    开心
    2017-12-20 11:14
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 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, 2024-5-4 19:30 , Processed in 0.110603 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.