技术文章

什么是视频直播?实现视频直播需要哪些步骤?

视频直播是指利用互联网及流媒体技术,硬件视频采集卡组合起来进行直播,视频包含了图像、声音、文字等重要元素,图文声三者合一,效果极佳,逐渐成为互联网的主流方式。视频通过真实、生动的直播,营造出强烈的现场感,吸引眼球,达成印象深刻、记忆持久的传播效果,能够真实、直观、快速、全面、展示自己一个完整的流媒体平台。

视频直播,主要涉及到采集、预处理、编码、传输、服务器转码、解码这样一个流程。

什么是视频直播?实现视频直播需要哪些步骤?1.jpg

一、视频采集:通过视频采集卡或编码器进行图像采集和音频采集;

  图像采集设置摄像头、摄像机,并配置采集的参数、图像数据的长宽、fps、输出的方向、横屏竖屏等,然后从回调中取到数据。

音频采集和编码主要面临的挑战在于:噪声消除、回声消除等。

 前期不需要音频数据处理需求的时候,只需配置音频采集的采样率、码率和声道。

二、预处理:分为音频处理和视频处理两个方面。

  音频处理是直播难点之一,直播环境会有噪音,所以直播的音频处理是整体降噪的过程。增益降噪等处理可直接从项目中抽出来的声音处理代码,然后调用、处理。如有类似在直播的时候播放背景音乐的混音需求,就需要实现音频数据的混音,而还需要将混音的背景音乐转成PCM数据,拷贝一份送入混音,原来的数据送入播放器。

  滤镜、美颜功能是直播标配,如果需要美白、水印、裁剪等处理效果,还要考虑到拿到的数据是YUV还是RGB。通过软件进行采集和美白、水印、裁剪的处理,然后取出来进行编码上传,并显示在预览画面上。

三、编码:

  编码:现在广泛采用FFmpeg库结合编码库来实现,FFmpeg+x264来编码视频数据YUV/RGB输出H264数据,FFmpeg+fdk_aac来编码音频数据PCM输出AAC数据。

四、传输:采用FFMPEG进行数据的接收,推流端默认使用FFMPEG进行数据的封包发送。

  相对来说,封包更主要注意的一个点是时间戳。字面上可以理解,就是解码时间和显示时间,在没有B帧存在的情况下DTS的顺序和PTS的顺序应该是一样的。这块还涉及到重连和丢帧,用户的网络情况波动断开了,会进行重连。重连失败之后才会发送失败回调。丢帧是一个弱网情况的策略,根据音视频数据的缓冲区大小来判断是否丢帧,丢帧会优先丢非关键帧,保留关键帧,而一旦需要丢关键帧的时,关键帧后的非关键帧也会一起丢掉直到下一个关键帧,来保证画面不会花屏。

五、服务端

  现在主流的两种推送协议是RTMP和HLS

六、播放器

  播放器主要负责拉流、解码、播放。

  1.解析协议

  播放器端根据URL解析所用的流媒体协议(RTMP,HLS)。

  2.解封装

  解封装,从容器格式(FLV,TS)中,分离出音视频数据。

  3.解码

  解码,就是把获取到的数据解压缩,恢复成原始数据。解码就是将H264变成YUV,AAC变成PCM。解码可以使用软解码,硬解码。

  4.渲染数据

  采用OpenGL渲染YUV数据,呈现视频画面。将PCM送入设备的硬件资源播放,产生声音。

 


咨询电话:010-82609288   邮箱:info.bj@exntech.com

Copyright 2018@宇诚互联(北京)智能技术有限公司.All rights reserved. 京ICP备2021035545

宇诚科技视频采集卡厂家为您提供更权威的VGA采集卡,DVI采集卡,HDMI采集卡,4K采集卡,高清采集卡,Pearl录播一体机,便携式录播,

屏幕采集卡,图像采集卡,视频编码器,视频转换器,osprey流媒体卡,外置USB采集盒采集卡系列更全设备,品牌代理进口品质有保证,是您理想选择。

视频采集卡,图像采集卡,屏幕采集卡,视频编码器,视频采集器,视频采集盒,直播编码器,视频转换器,视频压缩卡,网络直播,直播采集器,视频卡,采集卡,HDMI采集卡,流媒体采集,视频采集器,HDMI采集卡,采集卡驱动,视频卡驱动,视频采集软件,采集卡厂家,宇诚科技官网