前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >音视频开发常用软件 技术创作101训练营

音视频开发常用软件 技术创作101训练营

原创
作者头像
loongmonkey
修改2020-09-22 10:24:44
1.6K0
修改2020-09-22 10:24:44
举报

引言

编写目的

主要是介绍几款媒体常用软件,方便进行媒体类问题的定位分析,软件大部分是开源的,方便学习相关知识。

适用范围

预期读者为媒体开发人员作为入门文档,用来分析对比,定位问题。也可作为音视频爱好者日常使用。

只是简单介绍常用的使用方法。其他用法可以在网络查询。

同时大部分软件是开源软件,可以多看看源码,学习相关知识。

推荐一些个人认为比较好的书籍

软件简介及说明

Mediainfo

官方地址:https://mediaarea.net/en/MediaInfo

MediaInfo是一款非常实用的视频参数检测工具,除了可以对视频进行编码分析查询,还可以对音频文 件的编码及信息进行检测,该款工具软件是一款开源免费软件。linux系统下为英文,windows下可选择中文。同时可以下载软件源码进行学习。

VLC

官方地址:https://www.videolan.org/

VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN计划的多媒体播放器。它支持众多音频 与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。它也能作为unicast 或 multicast的流式服务器在IPv4或 IPv6的高速网络连接下使用。它融合了FFmpeg计划的解码器与 libdvdcss程序库使其有播放多媒体文件及加密DVD影碟的功能。同时可以下载软件源码进行学习。

  • 用来对比播放视频,排除视频源本身的问题。
  • 用来搭建流媒体服务器,测试客户端软件播放。
  • 用来作为自己播放器,跨平台,免费,无广告,功能强大。

wireshark

官方地址:https://www.wireshark.org/

推荐书籍:《Wireshark网络分析就这么简单》,《Wireshark网络分析的艺术》

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并 尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。同时可以下载软件源码进行学习。

wireshark功能强大,网络相关开发,学习网络协议的必备工具,多媒体开发一般用来抓包分析媒体播放中的网络因素引起的问题。如播放卡顿

android开发中需要使用tcpdump来抓取android设备的网络包,再使用wireshark分析。

抓包方式:

adb shell

命令行tcpdump -i any -p -s 0 -w /sdcard/tcpdump.pcap

adb pull /sdcard/tcpdump.pcap . 将网络包文件拉到本地来分析

小技巧:

“contains”操作符允许一个过滤器搜索一串字符,其形式为字符串,或者字节,或者字节组。例如在搜索一个HTTP URL地址,可以使用下面的过滤器: http contains “http://www.wireshark.org”; “contains”操作符不能被用于原子型的字段,比如数字和ip地址。

ffmpeg

官方地址:http://ffmpeg.org/

同时可以下载软件源码进行学习。音视频开发必备知识储备。建议认真学习源码及使用。

推荐书籍:《ffmpeg从入门到精通》刘歧(ffmpeg官方推荐中文书籍),英文能力强的直接看官方网址说明文档是最好的资料。

中文论坛:http://bbs.chinaffmpeg.com

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

FFmpeg是音视频开发中必须了解掌握的开源项目。FFMPEG是特别强大的专门用于处理音视频的开源库。你可以使用它的API对音视频进行处理,也可以使用它提供的命令行工具,如ffmpeg, ffplay, ffprobe,来编辑你的音视频文件。命令行工具强烈推荐大家学习使用,刚开始可能很不习惯,坚持下来就会体会到ffmpeg命令行的强大

列出部分常用命令(linux平台),方便查询:

  • ffmpeg 通过ffmpeg –help可以看到ffmpeg常见的命令,ffmpeg一般用作视频转换 命令格式: ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件] ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
  • ffprobe 可以使用ffprobe --help来查看详细的帮助信息,ffprobe用作分析视频 命令格式 ffprobe [参数选项] [输入文件名] ffprobe [OPTIONS] [INPUT_FILE] 小技巧: 格式化 ffprobe的命令的输出格式 默认的输出格式都是以key - value的格式的方式,ffprobe支持多种格式的输出,包括XML、INI、JSON、CSV、FLAT等。使用ffprobe -print_format 或者 ffprobe -of 来格式化输出。 ffprobe -of csv -show_frames input.mp4 > 1.csv 使用wps或excel打开1.csv,查看超级方便。
  • ffplay 可以使用ffplay --help来查看详细的帮助信息,一般用来对比播放,比vlc功能多但不直观 ffplay [参数选项] 输入文件名 ffplay [options] input_file 小技巧: 使用ffplay播放yuv数据 播放NV21 ffplay -i nv21.yuv -pix_fmt nv21 -s 640x480 播放YUV420P ffplay -i yuv420p.yuv -pix_fmt yuv420p -s 640x480

音视频开发书籍推荐

《在线视频技术精要》,《音视频开发进阶指南》,《Android音视频开发》,《FFmpeg从入门到精通书籍》

《视频编码全角度详解》

其他常用软件

我个人不常用,在此列出,方便有需要的人使用

Bento4是一套开源库,专用于mp4格式文件的读写,同时还提供一套开源工具,支持的功能非常多

FLVmeta本来是一个编辑flv文件的metadata的工具,但其实它也可以用来做flv文件的码流分析

tsr(TS码流分析工具)是一款针对(Tsr)MPEG-2压缩打造的TS流分析器,可以清楚地看到码流的信息。

EASYICE支持HLS协议的免费分析软件。通过HLS 缓冲分析模块,可以一目了然的看到播放器的缓冲状态。当你的节目出现卡顿,观察缓冲状态就可以知道是否数据到达太慢。HLS分析支持直播与点播业务。

LIVE555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。

PixStream WinSend是一款以把本地文件发送成流推送到组播地址的组播测试工具,软件的功能十分的全面,且自身十分的小巧,软件可以用来发送TS流,播放流文件时,但要注意选择H264的ts文件,使用VLC打开组播IP及端口号。

技术创作101训练营

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
    • 编写目的
      • 适用范围
      • 软件简介及说明
        • Mediainfo
          • VLC
            • wireshark
              • ffmpeg
                • 音视频开发书籍推荐
                  • 其他常用软件
                  • 技术创作101训练营
                  相关产品与服务
                  实时音视频
                  实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档