动易网站官网,三原做网站,9k9k网页游戏开服表,网站建立平台文章目录 前言一、VLC 播放器1、简介2、下载3、VLC media player4、VLC 打开网络串流5、VLC 作为流媒体服务器①、搭建 RTSP 流媒体服务器②、新建播放器 二、MediaInfo1、简介2、下载3、MediaInfo①、主界面②、主要功能特点③、使用方法④、Mediainfo 相关参数和含义简介 三、… 文章目录 前言一、VLC 播放器1、简介2、下载3、VLC media player4、VLC 打开网络串流5、VLC 作为流媒体服务器①、搭建 RTSP 流媒体服务器②、新建播放器 二、MediaInfo1、简介2、下载3、MediaInfo①、主界面②、主要功能特点③、使用方法④、Mediainfo 相关参数和含义简介 三、FlvAnalyzer1、简介2、下载3、基本功能特点4、FlvAnalyzer①、主界面②、格式分析③、数据分析④、时间分析⑤、码率分析⑥、同步分析 四、Elecard Stream Analyzer 码流分析工具1、简介2、下载3、码流4、使用5、特色介绍6、多码流 五、FFmpeg1、简介2、FFmpeg 项目组成3、FFmpeg 组成4、使用 ffmpeg 的方式分为两种5、FFmpeg 命令行6、FFmpeg 下载及安装①、FFmpeg 下载②、安装③、测试 测试视频素材下载 前言
我们在进行音视频开发过程中不可避免的需要使用一些工具进行协助开发本文重点讲解音视频开发过程中常用工具以及常用功能。 一、VLC 播放器
1、简介
VLC 支持多种常见音视频格式支持多种流媒体传输协议也可当做本地流媒体服务器使用功能十分强大。
2、下载
官网下载地址 https://www.videolan.org/
或者在电脑的应用商店下载也可以
3、VLC media player
VLC 是一款自由、开源的跨平台多媒体播放器及框架可播放大多数多媒体文件以及 DVD、音频 CD、VCD 及各类流媒体协议。
VLC 的全名是 Video Lan Client是一个开源的、跨平台的视频播放器。
VLC 支持大量的音视频传输、封装和编码格式下面给出一个简要的不完整的列表
操作系统 Windows、 WinCE、 Linux、 MacOSX、 BEOS、 BSD访问形式 文件、 DVD/VCD/CD、 http、 ftp、 mms、 TCP、 UDP、 RTP、 IP 组播、 IPv6、 rtsp编码格式 MPEG*、 DIVX、 WMV、 MOV、 3GP、 FLV、 H.263、 H.264、 FLAC视频字幕 DVD、 DVB、 Text、 Vobsub视频输出 DirectX、 X11、 XVideo、 SDL、 FrameBuffer、 ASCII控制界面 WxWidgets、 QT4、 Web、 Telnet、 Command line浏览器插件 ActiveX、 Mozillafirefox
4、VLC 打开网络串流
http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8
媒体 - 打开网络串流 将上面的网络复制并粘贴到此处并点击播放 可以看到播放效果
5、VLC 作为流媒体服务器
VLC 的功能很强大 它不仅仅是一个视频播放器 也可作为小型的视频服务器 更可以一边播放一边转码 把视频流发送到网络上。
①、搭建 RTSP 流媒体服务器
媒体 - 流 添加一个本地的 mp4 格式视频文件再点击串流 点击下一个
选择 RTSP再点击添加 例如我这里指定一个 RTSP 默认的 554 端口路径为 /test再点击下一个 配置文件选择 Video - H.264 MP3 (TS) TS 流是一个一个的片段在任意时刻我们可以找到同步头可以播放出来这是 TS 流的好处
可以看到如下内容并点击流
vcodech264H264 编码vb800视频的比特率acodecmpga音频的编码ab128音频的比特数channels2声道数samplerate44100采样率rtsp://:554/test播放路径
rtp 是传输协议rtsp 是控制协议
可以看到进度条开始动了这样一个 RTSP 流媒体服务器就搭建好了
②、新建播放器
再打开一个 VLC media player 媒体 - 打开网络串流将上面的播放路径复制到 URL 处并点击播放 可以看到视频文件正在被播放 左边是 VLC 作为流媒体服务器作为推流右边是 VLC 播放器打开网络串流是一个小型的播放器
可以打开多个播放器打开网络串流
二、MediaInfo
1、简介
MediaInfo 用来分析视频和音频文件的编码和内容信息。
①、使用 MediaInfo 可以获得多媒体文件的哪些信息?
内容信息 标题 作者 专辑名 音轨号 日期 总时间……视频 编码器 长宽比 帧频率 比特率……音频 编码器 采样率 声道数 语言 比特率……文本 语言和字幕段落 段落数 列表
②、MediaInfo 支持哪些文件格式?
视频MKVOGMAVIDivXWMVQuickTimeRealMPEG-1MPEG-2MPEG-4DVD (VOB)…(编码器DivXXviDMSMPEG4ASPH.264AVC…)音频OGGMP3WAVRAAC3DTSAACM4AAUAIFF…字幕SRTSSAASSSAMI…
2、下载
官网下载地址https://mediaarea.net/en/MediaInfo
或者在电脑的应用商店下载也可以
3、MediaInfo
①、主界面
主页面如下图所示
②、主要功能特点
支持众多视频和音频文件格式
多种查看方式 文本 表格 树形图 网页…… 自定义查看方式
信息导出 文本 CSV HTML……
③、使用方法
如果是查看少数媒体文件的信息 直接把文件拖入 Mediainfo 应用界面即可然后就会直接显示出文件的相关信息。 Mediainfo 也可以直接查看整个文件夹下中的媒体文件信息 可以点击界面左侧中间的图标即可。 Mediainfo 能够查看视频、 音频、 图片的格式信息。
④、Mediainfo 相关参数和含义简介
准备一个 mp4 文件的视频文件将其拖入到主界面并且以 HTML 方式查看此处先把视图切换为 HTMLView 菜单 - HTML
可以看出主要包括三个部分的参数分别是 General、 Video、 Audio。
General 主要是视频封装格式的信息包括文件大小、文件时长、比特率、编码时间等。 Video 主要是视频编码的相关信息包括编码器、Profile Level、是否使用算术熵编码、比特率、视频文件大小、视频尺寸、帧率模式、帧率、色彩空间、扫描类型逐行/隔行、编码设置等 Audio 主要是音频编码的相关信息包括格式、声道数、编码格式、Profile、时长、比特率、是否有损压缩、音频的帧率等信息。
三、FlvAnalyzer
1、简介
直播推流的时候需要用到 RTMP 的视频数据格式。RTMP 的视频格式和 FLV 相似通过查看 FLV 的格式文档可以通过分析 FLV 协格式来解析 RTMP 格式。
RTMP 中的数据就是由 FLV 的 TAG 中的数据区构成。FLV 是流媒体封装格式可以将其数据看为二进制字节流。
总体上看FLV 包括文件头File Header和文件体File Body两部分其中文件体由一系列的 Tag 及 Tag Size 对组成如下图所示。
2、下载
下载链接flvAnalyser v0.1.2.005
3、基本功能特点
FlvAnalyser 是一款强大的 flv 文件分析工具包括以下基本功能特点
文件格式分析数据分析 Tag 列表 16 进制分析时间戳分析码率分析音视频同步分析日志记录语法指南FLV 基本语法视频、 音频 ES 提取存文件时间信息提取存文件
4、FlvAnalyzer
①、主界面 ②、格式分析
file - open file
这里和上面的讲过的 Mediainfo 很相似
③、数据分析 ④、时间分析 ⑤、码率分析 ⑥、同步分析 上面最常用的是格式分析和数据分析
四、Elecard Stream Analyzer 码流分析工具
1、简介
Elecard Stream Analyzer 是一款简单小巧的码流分析工具通过该软件用户可以快速的分析查看视频序列码流用户只需将视频文件导入软件内系统就会自动帮您分析文件分析后就会显示视频码的文件大小、码流类型、数据包数等内容了
2、下载
链接https://pan.baidu.com/s/1hMGBTPB58xYTmYysPwlrCA 提取码ykhf
3、码流
码流Data Rate是指视频文件在单位时间内使用的数据流量也叫码率是视频编码中画面质量控制中最重要的部分。
同样分辨率下视频文件的码流越大压缩比就越小画面质量就越好。
4、使用
打开一个 aac 文件查看相关编解码信息
5、特色介绍
显示和保存流摘要和图片信息显示的解码预测和未经过滤的帧数据(YUV 和单机)显示剩余转换和反量化系数保存的解码预测未经过滤和残余信息显示 VPSSPSPPS 的片头与偏移和位大小指示(如标准文档中)显示的编码树组数据位置分片索引瓷砖指数大小编码预测(MVMVD及 MV 候选人)变换单元信息切片和小块边界分区运动矢量种类比特大小量化的可视化通过图表栏或缩略图导航显示器内部的视频流比特分配。能够选择的比特流元素的显示流导航和显示 IPBIP 和关键帧模式显示参考帧的十六进制查看器流浏览器 - 文件内容(头层)呈现在文本模式下查看参考原始数据指标计算参照原始数据可视化比较(温度减比较块 PSNR 模式)
6、多码流
多码流技术是通过在编码过程中同时产生多种不同码流及分辨率的流媒体数据 根据用户实际网络带宽条件为之自动分配相对最佳解码画质的解决方案。
五、FFmpeg
这里仅对 FFmepg 做简要介绍因其内容庞大具体部分准备放到后面讲解
1、简介
ffmpeg 是一个跨平台的音视频处理库 为了跨平台那么就需要编译出适用于各个平台的 ffmpeg 库。
FFmpeg 是一套可以用来记录、 转换数字音频、 视频 并能将其转化为流的开源计算机程序。它提供了录制、 转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库 libavcodec 为了保证高可移植性和编解码质量libavcodec 里很多 code 都是从头开发的。
2、FFmpeg 项目组成
libavformat用于各种音视频封装格式的生成和解析包括获取解码所需信息以生成解码上下文结构libavcodec用于各种类型声音/图像编解码libavutil包含一些公共的工具函数libswscale用于视频场景比例缩放、色彩映射转换libpostproc用于后期效果处理
①、ffmpeg该项目提供的一个工具可用于格式转换、解码或电视卡即时编码等 ②、ffsever一个 HTTP 多媒体即时广播串流服务器 ③、ffplay是一个简单的播放器使用 ffmpeg 库解析和解码通过 SDL 显示
3、FFmpeg 组成
官网介绍 FFMPEG 是一个多媒体框架其包含了多个模块库AVFormatAVCodecAVFilterAVDeviceAVUtil 等并且提供了基于这些库的三个命令行工具: ffmpeg ffplay ffprobe。
4、使用 ffmpeg 的方式分为两种
一种方式是直接使用 ffmpeg 提供的这三个命令行工具来进行多媒体处理另一种是使用 ffmpeg 封装的这些库进行二次开发
5、FFmpeg 命令行
列出支持的格式剪切一段媒体文件提取一个视频文件中的音频文件从 MP4 文件中抽取视频流导出为裸的 H264 数据视频静音 即只保留视频 -an-vn使用 AAC 音频数据和 H264 视频生成 MP4 文件音频格式转换从 WAV 音频文件中导出 PCM 裸数据将一个 MP4 的文件转换为一个 GIF 动图使用一组图片生成 gif淡入效果器使用将两路声音合并比如加背景音乐为视频添加水印效果视频提亮效果器视频旋转效果器的使用视频裁剪效果器的使用将一段视频推送到流媒体服务器上将流媒体服务器上的流 dump 到本地将两个音频文件以两路流的形式封装到一个文件中
6、FFmpeg 下载及安装
①、FFmpeg 下载
官方下载地址https://ffmpeg.org/download.html 选择 windows build from gyan.dev 选择其中一个进行下载
②、安装
1、下载好解压到本地目录 D:\FFmpeg 下 2、设置环境变量 此电脑 - 属性 - 高级系统设置 - 环境变量 - 系统环境变量 - PATH - 编辑 新增 D:\FFmpeg\ffmpeg-6.0-essentials_build\bin 到环境变量中
③、测试
1、 查看 FFmpeg 的版本 cmd 中输入 ffmpeg -version 检查一下是否安装成功 这个回显说明安装成功
2、视频格式转换测试 我们再做一个测试将 mp4 格式文件转换成 flv 格式文件 D:\Work\test 目录下有一个 mp4 文件 输入以下命令
ffmpeg -i SampleVideo_1280x720_20mb.mp4 -c copy -f flv SampleVideo_1280x720_20mb.flv完整的回显信息
D:\Work\testffmpeg -i SampleVideo_1280x720_20mb.mp4 -c copy -f flv SampleVideo_1280x720_20mb.flv
ffmpeg version 6.0-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 project)configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberbandlibavutil 58. 2.100 / 58. 2.100libavcodec 60. 3.100 / 60. 3.100libavformat 60. 3.100 / 60. 3.100libavdevice 60. 1.100 / 60. 1.100libavfilter 9. 3.100 / 9. 3.100libswscale 7. 1.100 / 7. 1.100libswresample 4. 10.100 / 4. 10.100libpostproc 57. 1.100 / 57. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from SampleVideo_1280x720_20mb.mp4:Metadata:major_brand : isomminor_version : 512compatible_brands: isomiso2avc1mp41creation_time : 1970-01-01T00:00:00.000000Zencoder : Lavf53.24.2Duration: 00:01:57.31, start: 0.000000, bitrate: 1436 kb/sStream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 1048 kb/s, 25 fps, 25 tbr, 12800 tbn (default)Metadata:creation_time : 1970-01-01T00:00:00.000000Zhandler_name : VideoHandlervendor_id : [0][0][0][0]Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 383 kb/s (default)Metadata:creation_time : 1970-01-01T00:00:00.000000Zhandler_name : SoundHandlervendor_id : [0][0][0][0]
Output #0, flv, to SampleVideo_1280x720_20mb.flv:Metadata:major_brand : isomminor_version : 512compatible_brands: isomiso2avc1mp41encoder : Lavf60.3.100Stream #0:0(und): Video: h264 (Main) ([7][0][0][0] / 0x0007), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q2-31, 1048 kb/s, 25 fps, 25 tbr, 1k tbn (default)Metadata:creation_time : 1970-01-01T00:00:00.000000Zhandler_name : VideoHandlervendor_id : [0][0][0][0]Stream #0:1(und): Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, 5.1, fltp, 383 kb/s (default)Metadata:creation_time : 1970-01-01T00:00:00.000000Zhandler_name : SoundHandlervendor_id : [0][0][0][0]
Stream mapping:Stream #0:0 - #0:0 (copy)Stream #0:1 - #0:1 (copy)
Press [q] to stop, [?] for help
frame 2932 fps0.0 q-1.0 Lsize 20659kB time00:01:57.29 bitrate1442.9kbits/s speed1.27e03x
video:15013kB audio:5497kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.726677%D:\Work\test此刻再看 D:\Work\test 目录下多了一个名为 SampleVideo_1280x720_20mb.flv 的文件 测试视频素材下载
各种格式MP4, flv, mkv, 3gp 视频下载地址 https://www.sample-videos.com/index.php#sample-mp4-video https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/audio-samples.html 我的qq2442391036欢迎交流