流媒体直播之一流媒体直播实现的整体方案和思路

Author: CaoHu
E-Mail: hnu_xiaohu@163.com Version:0.1 Date: 2018-01-29
Description: My level is limited, if there are some weaknesses, welcome criticism. If the content of the blog is involved in infringement, please contact my mailbox, it will be deleted immediately, welcome to exchange, learn from each other!


最近由于导师项目需要进行网络屏与数据流的对接,需要实现的功能有RTSP传输,V4L2采集,H.264编码。为此本人也是各种百度,翻博客最终实现了VLC对开发板的摄像头采集的视频直播,为了让后来者免除本人所遇到的烦恼,决定抽出时间来写出一系列关于简易流媒体直播的博客,以供参考。
一、项目需求
鄙人认为一切项目的开发之初,首先我们需要了解自己要实现的功能是什么,也就是项目需求。这里我们需要设计一种RTSP嵌入式视频监控系统。该系统基于服务器/客户端的模式,用户使用PC机通过以太网实时监控观测对象。(很简单我们就是要在客户端看到自己开发板上摄像头采集到的图像)
二、项目准备
那么问题来了,当我们有这么个需求的时候我们就需要工具去实现它,这就是各种找资料的过程,这里直接说明,首先,我们要能够调用自己的摄像头,这里老一点的版本是v4l(video for linux),这里采用的罗技C270摄像头,采用V4L2协议(即v4l的升级版),由于不同型号的摄像头采集的格式不同,而后面介绍到的编码需要使用YUV420P图像格式,这里还需要用到ffmpeg库中的libswscale库来进行转格式;其次,我们这里项目需求明确说明需要通过以太网进行传输(网线),v4l2采集到的图像数据不可能直接通过以太网传输,这样占据的带宽较大,为使带宽减少需要用到现在普遍的压缩编码技术,通过查阅资料通常普遍采用的技术是H.264编码,这里采用x.264库进行H.264编码;然后,要实现RTSP协议,我们需要搭建RTSP服务器,本人采用网上普遍推荐的LIVE555开源库来进行RTSP服务器的搭建;最后服务器搭建好了,我们需要客户端来进行数据的接收与解码,由于本项目的最终目的是实现和网络屏对接即可,所以客户端的问题不用考虑只需使用RTSP协议的即可,本文使用的vlc播放器作为客户端。
三、系统设计
下面借用一篇论文中的图片来展示整体系统的实现。
系统架构图从图中可以看出经摄像头采集到的数据通过libswscale将图像格式转换为YUV420P然后利用x.264进行h.264编码,在通过RTSP发送到客户端。未完待续,下面将继续补充整个系统一步步的具体实现方式,敬请期待……

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值