由于视频的编码格式,封装协议非常多,在视频播放的过程中,会有很多编码不兼容的问题。这种情况下就需要对视频进行转码。
视频转码分为离线转码和实时转码,它们的工作方式和具体的业务要求是完全不同的,其应用的场景也是完全不一样的。所以我们在项目中,如果需要对视频进行转码,需要搞清楚具体的视频转码是要应用在哪种场景下,需要解决什么问题。
离线转码
离线转码的应用非常广泛,我们日常在视频网站追剧,都需要对视频进行转码。还有我们都有这样的经历,从网上下载了一个视频文件,结果无法播放,这都需要对视频进行转码后,让原来的视频适合现有的播放器。
转码的流程
离线转码一般针对视频文件,也就是说我们有一个视频文件比如,MP4,MKV,AVI,FLV,MOV,WEBM,WMV使用不同的封装协议,不同的分辨率和编码格式。如果遇到不兼容的问题,就需要对这些文件进行转码。
这种转码对实时性要求不高,比如我们上传到视频直播平台一个视频文件,其未来适应观看用户的不同分辨率设备,不同格式播放器,会提前将文件转码为几个不同的文件,方便用户播放时快速的适配,这种转码无需很高的实时性,什么时候转换完成,什么时候对外发布即可。
实时转码
实时转码的要求要比离线转码的要求高的多,视针对实时视频进行转码,什么是实时视频呢?比如我们去调看监控摄像头的视频,查看无人机的视频,召开视频会议的视频,观看视频直播的视频。
这些视频都是实时视频,如果太大的延迟会影响的观看体验,特别是需要双向视频通信互动的场景,视频的延迟大了就会无法沟通交流。
实时编码格式的转换
但是这类的视频也会遇到编码不兼容的问题。比如我们拉一个H.265的视频监控到视频会议系统,但是视频会议只支持H.264 。这种情况下就需要实时的将视频编码格式进行转换。这种转换是不能在中断的情况下处理的,必须保持视频的流畅情况下完成转码。
也可以说在用户无感的情况下就完成了转码,这对系统的软硬件处理能力要求较高。同时可能会涉及到多种的视频协议之间的转换,起处理复杂度要高于离线转码。
目前实时视频转码主要是用GPU完成,比如我们现在很流行的视频直播,都会对视频进行实时转码,以方便适配更多的播放设备。但是GPU的使用比较复杂,特别是对上层多种协议的兼容性,需要深厚的技术实力才可以很好的驾驭。
视频转码服务器的能力
在一些项目中,需要视频实时转码的场景,可以使用思载科技视频转码服务器来解决转码问题。单台服务器支持16路 1080P视频实时转码。支持H.264,H.265视频互转。支持RTP,RTSP,RTMP,FLV,HLS, SIP,WebRTC,GB/T28181等多种视频流媒体协议。全部界面配置就可以完成视频转码配置,无需修改代码,无需复杂命令实现。
随着目前视频融合的项目越来越多,视频的兼容性问题也越来越突出,通过专用的转码设备解决转码问题,将会带来更好的转码效果和使用体验。