流媒体技术在新闻媒体中的应用与案例分析

发表时间:2021/6/17   来源:《科学与技术》2021年第29卷6期   作者:韦中华
[导读] 随着数字化、信息化、网络化的发展,流媒体技术已经成功应用到生活的各个方面,同时给广播电视也带来前所未有的发展机遇。
        韦中华
        莒县广播电视台  山东 莒县 276500
        摘要:随着数字化、信息化、网络化的发展,流媒体技术已经成功应用到生活的各个方面,同时给广播电视也带来前所未有的发展机遇。本文结合实际应用到的案例,就流媒体技术在新闻媒体中的深度融合与创新,分别从概念、原理、部署到应用等方面进行了阐述和解读。
        关键词:流媒体 实时 直播 推流 拉流 编码
        当前,依托着4G/5G传输网络,上至国家领导人的跨国“云外交”,下到普通百姓之间视频对话,流媒体技术已经非常成功的应用到我们生活中方方面面,包括在线教育、直播带货、视频会议、远程会诊等等。
        对于新闻媒体来说,流媒体带来了机遇和挑战。流媒体技术为传统媒体在互联网上开辟更广阔的空间提供了可能。打破了传统媒体在传播渠道、传播面上的限制,媒体宣传报道发生变革性转变,用户收听收看节目也由原来被动接受,变成主动选择。
        流媒体概念
        流媒体(Streaming Media)技术是指将一连串的媒体数据(包括视频、音频、图片、文字和动画)压缩后,以流的方式在网络中分段传送,实现在网络上实时传输音视频,并提供播放收听收看的一种技术。
        流媒体技术从传输形式上可以分为:顺序流式传输和实时流式传输。
         顺序流式传输不必等到全部下载完成后再播放,用户在下载文件的同时就可以观看,但是只能观看已下载的那部分,而不能要求跳到还未下载的部分,常应用于视频网站的点播。
        实时流式传输才是真正意义上的流媒体传输。用户可以一边接收数据包一边播放,数据总是实时传送,实时流媒体传输必须保证数据包的传输速度大于文件的播放速度,否则视频就会暂停。主要应用于网络视频直播。
        流媒体系统组成
        流媒体系统分为信号采集编码、数据网络推流、服务器存放控制、拉流直播点播。
         1、采集编码:用于创建、捕捉和编辑多媒体数据,形成流媒体格式。采集信号,使用先进的H.264/AVC视频压缩算法和MPEG4 AAC音频压缩算法 ,编码成一路支持RTSP、RTMP协议的直播IP流媒体数据。采集的信号可以是外部设备提供的SDI、HDMI和VBS复合信号,也包括可叠加的图文、字幕或者本地音视频。 信号采集分为音频采集和视频采集。音频采集将环境中的模拟信号采集成PCM编码的原始数据,然后编码压缩成MP3等格式数据分发出去。音频采集参考的技术参数有采样率、位宽、声道数和音频帧。图像采集的图片结果组合成一组连续播放的动画,由YUV编码的原始数据,经过压缩成H.264等格式数据分发出去。参考技术参数有,图像传输格式、图像格式、传输通道、分辨率和采用频率等
         2、数据推流:推流,指的是把采集阶段封包好的流媒体数据通过网络(局域网、互联网、4G或者5G网络)传输发送到指定流媒体服务器的过程。以上过程可以通过硬件设备或者软件来实现。硬件设备主要包括音视频编码器、高配置摄像头、航拍器等拍摄设备。软件主要是直播推流软件,目前有Adobe Flash Media Encoder 、Open Broadcaster Software、800Li Education Podcast、Vlc等直播软件。主要以软件推流为主,硬件设备也是植入了相应功能的软件和驱动程序,才具备推流功能。
         3、流媒体服务器,整个流媒体系统中的核心部分,用于存放和控制流媒体的数据。目前,市场上有各种商业类型的云端流媒体服务器可以选用,也可以自主搭建使用。文章后面将介绍我台结合自身需要部署的流媒体服务平台。
         4、数据拉流:供客户端浏览流媒体文件,以此来实现直播或者点播。通过流媒体配置数据,结合常用的传输协议,生成一段拉流地址,通过该地址可以在专业解码器拉流输出SDI和HDMI信号,或者通过PC端播放器、手机客户端浏览收看。同时也是一个解码还原的过程,解码方式有软件解码和硬件解码。软件解码常用FFMpeg多媒体库,利用CPU做视频的解码,而硬件解码 利用GPU或者专用处理器来对视频流进行解码。
        流媒体技术在实施过程中用到几种网络传输协议,RTP、RTCP、RTSP、RTMP、MMS、HLS?等协议。作者本人实际工作需要,主要介绍一下用到比较多的RTSP、RTMP和HLS协议。
        RTSP (Real-Time Stream Protocol)由Real Networks 和 Netscape共同提出的,基于文本的多媒体播放控制协议。RTSP定义流格式,流数据经由RTP传输;RTSP实时效果非常好,适合视频聊天,视频监控等方向,可应用在推流和拉流两端。
        RTMP(Real Time Message Protocol) 由 Adobe 公司提出,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题,RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的,默认使用端口1935。优势在于低延迟,稳定性高,可应用在推流和拉流两端。。
        HLS ( HTTP Live Streaming)苹果公司提出的流媒体协议,直接把流媒体切片成一段段,信息保存到m3u列表文件中,可以将不同速率的版本切成相应的片;播放器可以直接使用http协议请求流数据,可以在不同速率的版本间自由切换,实现无缝播放;省去使用其他协议的烦恼。只可应用在拉流端


        流媒体系统案例分析
        莒县融媒体中心根据自身需要搭建了流媒体系统,前期的主要用途是自办频道、频率的网上直播和节目点播。方案选择了目前最广泛应用的开源的Linux + Nginx + Rtmp + Hls技术。
        前端采用RTMP协议的本地局域网推流模式,核心设备是部署了Linux系统服务器,安全防火墙、交换机及高带宽的双向网络专线。配备高清网络编码器、高清网络摄像头等多台推流设备,推流设备和核心服务器接入在同一交换机上使用局域网推流,确保推流的稳定性。
        例如服务器配置IP地址为192.168.0.10,安装Nginx插件,并在Nginx.conf文件中创建Rtmp应用live,默认端口为1935,其他配置如下:
rtmp {                                                           #声明一个 RTMP 实例
        server {
                listen 1935;                                 #添加一个监听端口以接收 RTMP 连接。
         application live {                   #创建一个名为live的 RTMP 应用。
           live on;                                   #切换直播模式,即一对多广播。
       hls on;                                        #开启hls应用
            hls_path  temp/live;           #设置HLS播放列表和片段目录
                   hls_fragment 1s;                   #设置HLS片段长度 1s

       recorder all {                         #资源录像
             record_path /tmp/rec;        #录制文件存放路径
             record_suffix .mp4;          #录制文件格式
             record_unique on;                #打开追加当前的时间戳
             record_append on;                #切换文件追加模式
        }
        }
                application vod {                   #点播资源
             play E:/media/2021;                 #资源路径
           }
  }
}
        在高清编码器中设置的Rtmp 上传节点为test,推流地址为rtmp://192.168.0.10:1935/live/test。Hls配置中, 拉流访问端口设置为8181,其他设置如下。
http {
    server {
                listen    8181;                                           # http访问直播端口
                location / {
                        root www;
                }
                location /stat {                                          # 配置rtmp状态页
                        rtmp_stat all;
                        rtmp_stat_stylesheet stat.xsl;
                }
                location /stat.xsl {                                        #在根目录www下查看rtmp 状态
                        root www;
        }
        location /live {          
        types  {       
            application/vnd.apple.mpegurl m3u8;  #HTTP Content-Type 媒体类型
                video/mp2t ts;
            }
            add_header Cache-Control no-cache;   #不使用缓存配置
            alias temp/live;
            expires -1;
        }
    }
        拉流端,使用公网IP和域名映射绑定到服务器地址上, 生成拉流访问地址http://域名:8181/live/test.m3u8,  可以在互联网中实现多端访问。注意,上述推拉流配置都要和推流设备上主流编码设置参数匹配。流媒体服务器中使用的Nginx功能非常强大,除了可以配置流媒体直播点播技术,还可以实现服务器正向和反向代理,及负载均衡等功能,是技术人员掌握服务器技术的必备工具之一。         
        结束语
        莒县广播电视台充分利用流媒体技术,已经实现了自办频道频率,在PC端手机端等多端多平台节目直播;实现了浮来山千年银杏树金秋“慢直播”;实现了疫情防控期间,全县多场重大会议的视频直播。下一步将在莒国古城开城后,实现古城全貌“慢直播”,及大型活动的VR直播。
        随着5G网络的全覆盖,依靠其高速率、大容量、低时延的特点,流媒体技术不仅在新闻媒体中会得到创新性发展,大有作为,必将应用到更多行业之中,必将更好地服务百姓生活,更大地支持经济社会发展。
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: