合集-FFmpeg开发实战

摘要:FFmpeg开发笔记(二十一)Windows环境给FFmpeg集成AVS3解码器​AVS3是中国AVS工作组制定的第三代音视频编解码技术标准,也是全球首个已推出的面向8K及5G产业应用的视频编码标准。AVS工作组于2019年3月9日完成第三代AVS视频标准(AVS3)基准档次的制订工作,参考软件的测试表明,AVS3基准档次的性能比上一代标准AVS2和HEVC提升了约30%。 l 阅读全文
posted @ 2024-05-18 10:39 aqi00 阅读(271) 评论(0) 推荐(2) 编辑
摘要:FFmpeg开发笔记(二十二)FFmpeg中SAR与DAR的显示宽高比​《FFmpeg开发实战:从零基础到短视频上线》一书提到:通常情况下,在视频流解析之后,从AVCodecContext结构得到的宽高就是视频画面的宽高。然而有的视频文件并非如此,如果按照AVCodecContext设定的宽高展示视频,会发现画面被压扁或者拉长了。比如该书第10章源码playsync. 阅读全文
posted @ 2024-05-19 12:31 aqi00 阅读(224) 评论(2) 推荐(1) 编辑
摘要:FFmpeg开发笔记(二十三)使用OBS Studio开启RTMP直播推流​OBS是一个开源的直播录制软件,英文全称叫做Open Broadcaster Software,广泛用于视频录制、实时直播等领域。OBS不但开源,而且跨平台,兼容Windows、Mac OS、Linux等操作系统。 OBS的官网是https://obsproject.com/,录制软件名叫OBS 阅读全文
posted @ 2024-05-26 11:09 aqi00 阅读(420) 评论(0) 推荐(1) 编辑
摘要:FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器​AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10、Mozilla Daala以及Cisco Thor三款开源项目的成果。据说在实际测试中,AV1标准比H.265(HEVC)的压缩率提升了 阅读全文
posted @ 2024-05-27 13:16 aqi00 阅读(415) 评论(0) 推荐(1) 编辑
摘要:FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp​《FFmpeg开发实战:从零基础到短视频上线》一书介绍了JPEG、PNG、GIF等图片格式,以及如何通过FFmpeg把视频画面转存为这些格式。除了上述这些常见的图片格式,还有较新的WebP格式,它由VP8视频标准派生而来,VP8演进的视频格式叫做WebM,图片格式则叫WebP。 若想让FFmpeg 阅读全文
posted @ 2024-06-01 12:16 aqi00 阅读(86) 评论(0) 推荐(0) 编辑
摘要:FFmpeg开发笔记(二十六)Linux环境安装ZLMediaKit实现视频推流​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKi 阅读全文
posted @ 2024-06-02 12:07 aqi00 阅读(360) 评论(2) 推荐(0) 编辑
摘要:FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题​上一篇文章介绍了如何通过ZLMediaKit实现视频推拉流,并使用VLC播放器验证视频直播地址。即使不用VLC播放器,直接在Qt工程的C++代码中调用FFmpeg的API,也能访问ZLMediaKit的直播地址,并正常渲染视频画面。关于如何在Qt工程中引入FFmpeg,可参考《FFmpeg开发实战 阅读全文
posted @ 2024-06-08 11:51 aqi00 阅读(68) 评论(0) 推荐(0) 编辑
摘要:FFmpeg开发笔记(二十八)Linux环境给FFmpeg集成libxvid​XviD是个开源的视频编解码器,它与DivX一同被纳入MPEG-4规范第二部分的视频标准,但DivX并未开源。早期的MP4视频大多采用XviD或者DivX编码,当时的视频格式被称作MPEG-4。现在常见的H.264后来才增补到MPEG-4规范的第十部分,当然如今使用XviD压缩的视频已经不多了。 阅读全文
posted @ 2024-06-09 11:25 aqi00 阅读(216) 评论(0) 推荐(1) 编辑
摘要:FFmpeg开发笔记(二十九)Windows环境给FFmpeg集成libxvid​XviD是个开源的视频编解码器,它与DivX一同被纳入MPEG-4规范第二部分的视频标准,但DivX并未开源。早期的MP4视频大多采用XviD或者DivX编码,当时的视频格式被称作MPEG-4。现在常见的H.264后来才增补到MPEG-4规范的第十部分,当然如今使用XviD压缩的视频已经不多了。 阅读全文
posted @ 2024-06-15 12:02 aqi00 阅读(56) 评论(0) 推荐(0) 编辑
摘要:FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧​《FFmpeg开发实战:从零基础到短视频上线》一书的“2.1.1 音视频编码的发展历程”介绍了H.26x系列的视频编码标准,其中H.264至今仍在广泛使用,无论视频文件还是网络直播,H.264标准都占据着可观的市场份额。 之所以H.264取得了巨大的成功,是因为它提出了一个新概念,把标准框架划分为 阅读全文
posted @ 2024-06-16 11:41 aqi00 阅读(340) 评论(2) 推荐(3) 编辑
摘要:FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流​RTMP Streamer是一个安卓手机端的开源RTMP直播推流框架,可用于RTMP直播和RTSP直播,其升级版还支持SRT直播(腾讯视频云就采用SRT协议)。RTMP Streamer支持的视频编码包括H264、H265、AV1等等,支持的音频编码包括AAC、G711、OPUS等等,可谓功能强大 阅读全文
posted @ 2024-06-22 11:57 aqi00 阅读(232) 评论(0) 推荐(0) 编辑
摘要:FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ、微信为代表的即时通信工具,能够实时传输文本和图片。其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊。 除了常见的图文即时通信,还有实时音视频通信,比如一对一的音频通话、一对一的视频通话等等,此时可采用WebRTC技术,有关Web 阅读全文
posted @ 2024-06-23 12:13 aqi00 阅读(361) 评论(0) 推荐(1) 编辑
摘要:FFmpeg开发笔记(三十三)分析ZLMediaKit对H.264流的插帧操作​《FFmpeg开发实战:从零基础到短视频上线》一书的“3.4.3 把原始的H264文件封装为MP4格式”介绍了如何把H.264裸流封装为MP4文件。那么在网络上传输的H.264裸流是怎样被接收端获取视频格式的呢?前文指出H.264流必定以“SPS帧→PPS帧→IDR帧”开头,接下来就来验证是否确实 阅读全文
posted @ 2024-06-29 14:57 aqi00 阅读(225) 评论(0) 推荐(1) 编辑
摘要:FFmpeg开发笔记(三十四)Linux环境给FFmpeg集成libsrt和librist​《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有比较两种比较新的流媒体协议,分别是SRT和RIST。 其中SRT全称为Secure Reliable Transport,中文叫做安全可靠传 阅读全文
posted @ 2024-06-30 12:02 aqi00 阅读(239) 评论(0) 推荐(1) 编辑
摘要:FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt​《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有比较两种比较新的流媒体协议,分别是SRT和RIST。 其中SRT全称为Secure Reliable Transport,中文叫做安全可靠传 阅读全文
posted @ 2024-07-06 13:26 aqi00 阅读(198) 评论(0) 推荐(2) 编辑
摘要:FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKi 阅读全文
posted @ 2024-07-07 11:30 aqi00 阅读(267) 评论(0) 推荐(0) 编辑
摘要:FFmpeg开发笔记全目录(FFmpeg开发实战详解,含直播系统的搭建过程)​记录下FFmpeg的学习笔记目录,完整的FFmpeg开发实战内容详见《FFmpeg开发实战:从零基础到短视频上线》一书。 下面是补充的FFmpeg开发笔记内容目录,主要是对《FFmpeg开发实战:从零基础到短视频上线》一书的进阶增补。 第一章 Linux环境编译FFmpeg FFmpeg开发笔记( 阅读全文
posted @ 2024-06-17 13:33 aqi00 阅读(346) 评论(0) 推荐(0) 编辑
摘要:FFmpeg开发笔记(三十七)分析SRS对HLS协议里TS包的插帧操作​《FFmpeg开发实战:从零基础到短视频上线》一书的“2.1.2 音视频文件的封装格式”介绍了视频流的PS格式和TS格式。由于TS包的长度固定,从TS流的任一片段开始都能独立解码,因此可以把TS当成音视频文件的封装格式。 鉴于TS包的独立解码特性,HLS协议引入了TS格式作为传输单元。HLS协议的 阅读全文
posted @ 2024-07-13 14:54 aqi00 阅读(109) 评论(0) 推荐(0) 编辑
摘要:FFmpeg开发笔记(三十八)APP如何访问SRS推流的RTMP直播地址​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKi 阅读全文
posted @ 2024-07-14 11:27 aqi00 阅读(291) 评论(0) 推荐(0) 编辑
摘要:FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg​《FFmpeg开发实战:从零基础到短视频上线》一书的“第11章 FFmpeg的桌面开发”介绍了如何在Windows环境对Qt结合FFmpeg实现桌面程序,那么Windows系统通过Visual Studio开发桌面程序也是很常见的,下面就介绍如何在Visual Studio的C++工程中集成FFm 阅读全文
posted @ 2024-07-20 11:20 aqi00 阅读(234) 评论(0) 推荐(1) 编辑