音视频开发常用工具
一、vlc
播放各种音视频文件、网络串流、亦可作为服务器使用
二、MediInfo
分析视频和音频文件的编码和内容信息
1.获取多媒体文件信息
MediaInfo可以获取的多媒体文件的基本信息,具体包括以下几方面。
(1)内容信息:标题、作者、专辑名、音轨号、日期、总时间等。
(2)视频:编码器、宽高比、帧频率、码率、比特率等。
(3)音频:编码器、采样率、声道数、语言、比特率等。
(4)文本:语言、字幕等。
(5)段落:段落数、列表等。
2.支持的格式
MediaInfo支持的格式很多,具体包括以下几种格式。
(1)视频:MKV、OGM、AVI、DivX、WMV、QuickTime、MPEG、DVD等。
(2)编码器:DivX、XviD、MSMPEG-4、ASP、H.264、AVC等。
(3)音频:OGG、MP3、WAV、RA、AC-3、DTS、AAC、M4A、AU、AIFF等。
(4)字幕:SRT、SSA、ASS、SAMI等。
3.查看方式
MediaInfo支持众多查看方式,包括文本、表格、树形图、网页、HTML、XML等,如图下图所示。
它支持3种发布版本,包括图形界面、命令行、DLL(动态链接库),还可以与Windows资源管理器整合,包括拖放、右击菜单等。
三、FlvAnalyser
直播推流的时候需要用到RTMP的视频数据格式。RTMP的视频格式和FLV相似,通过查看FLV的格式文档,可以通过分析FLV格式来解析RTMP格式。
RTMP中的数据就是由FLV的TAG中的数据区构成的。FLV是流媒体封装格式,可以将其数据看为二进制字节流。
总体上看,FLV包括文件头(File Header)和文件体(File Body)两部分,其中文件体由一系列的Tag及Tag Size对组成,如图下图所示。
四、Elecard Stream Analyzer码流分析工具
显示视频码的文件大小、码流类型、数据包数,用来评估视频质量达到改善及提升的目的
Elecard StreamEye Tools是一款分析音视频的好工具,包括Elecard Stream Analyzer、Elecard StreamEye、Elecard YUV Viewer
4.1 Elecard StreamEye
用于编码视频的可视化表现,以及流结构分析,这些流是MPEG-1/2/4或AVC/H.264视频基本流(Video Element Stream,VES)、
MPEG-1的系统流(System Stream,SS)、MPEG-2的程序流(Program Stream,PS)、MPEG-2的传输流(Transport Stream,TS)
4.2 Elecard YUV Viewer
是用来看YUV视频文件数据序列的,和其他的文件相比较,找到二进制的图像是否是匹配的,并且可观看比较结果。
应用程序允许用户计算度量的质量 例如:PSNR、NQI和VQM
4.3 Elecard Stream Analyzer
用于编码媒体流的语法分析,以及人类可读形式的展示。可以操作MPEG-1 Video/Audio、MPEG-2 Video/Audio、AAC、AC-3、AVC/H.264等
Elecard Stream Analyzer是一个专业的视频码流分析工具,功能非常强大,拥有码流错误报告、TS错误侦测和基于ETSI TR101-290的分析功能。
能够对编码器媒体流进行深入句法分析;支持H.264/AVC、MPEG-2 TS/PS等多种常用的视频格式;可以将ES码流导出到文件;支持HEX浏览、导航和搜索;
支持音视频交织分析;支持自动分析的命令行模式等.
五、FFmpeg
FFmpeg是一个跨平台的音视频处理库,是一套可以用来记录、转换数字音视频,并能将其转化为流的开源计算机程序,支持Windows、Linux、Mac等。
FFmpeg采用LGPL或GPL许可证,提供了录制、转换及流化音视频的完整解决方案,包含非常先进的音视频编解码库libavcodec。为了保证高可移植性和
编解码质量,libavcodec中很多编解码算法都是全新开发的。