FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频

10 月 28 日
阅读 3 分钟
167
​ijkplayer是Bilibili公司(简称B站)基于FFmpeg3.4研发并开源的国产播放器,它可运行于Android和iOS系统,既支持播放本地视频文件,也支持播放网络上的流媒体链接。
封面图

FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库

10 月 25 日
阅读 2 分钟
107
ijkplayer是一款由B站研发的移动端国产播放器,它基于FFmpeg3.4版本,同时兼容Android和iOS两大移动操作系统。ijkplayer的源码托管地址为 [链接] ,截止2024年9月15日,ijkplayer获得3.24万星标数,以及0.81万个分支数,而这还是ijkplayer停止更新6年之后的数据,可想而知当年的ijkplayer是多么火爆。
封面图

FFmpeg开发笔记(五十八)把32位采样的MP3转换为16位的PCM音频

10 月 21 日
阅读 2 分钟
115
​《FFmpeg开发实战:从零基础到短视频上线》一书的“5.1.2  把音频流保存为PCM文件”介绍了如何把媒体文件中的音频流转存为原始的PCM音频,在样例代码的转存过程中,解码后的PCM数据未经任何加工处理,就直接保存到二进制文件。也就是说,原音频的采样频率是多少,PCM文件的采样频率也是多少;原音频的声道数量是多少,PCM...
封面图

FFmpeg开发笔记(五十七)使用Media3的Transformer加工视频文件

10 月 18 日
阅读 3 分钟
87
​继音视频播放器ExoPlayer之后,谷歌又推出了音视频转换器Transformer,要在音视频加工领域施展拳脚。根据Android开发者官网介绍:Jetpack Media3是Android媒体库的新家,可让App呈现丰富的视听体验。Media3提供了一个简单的架构,能够基于设备功能开展自定义与可靠性优化,可以解决媒体部分的碎片化问题。
封面图

FFmpeg开发笔记(五十六)使用Media3的Exoplayer播放网络视频

10 月 14 日
阅读 4 分钟
261
​Android早期的MediaPlayer控件对于网络视频的兼容性很差,所以后来单独推出了Exoplayer库增强支持网络视频,在《Android Studio开发实战:从零基础到App上线(第3版)》一书第14章的“14.3.3  新型播放器ExoPlayer”就详细介绍了Exoplayer库的详细用法。
封面图

FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势

10 月 11 日
阅读 3 分钟
166
​喊了多年的互联网寒冬,今年的寒风格外凛冽,还在坚守安卓开发的朋友着实不容易。因为能转行的早就转了,能转岗的也早就转了,那么安卓程序员比较迷茫的就是,我该学什么安卓技术才好呢?还是直接扔了安卓再去搞别的技术吗?
封面图

FFmpeg开发笔记(五十四)使用EasyPusher实现移动端的RTSP直播

10 月 8 日
阅读 4 分钟
133
​之前的文章《利用RTMP协议构建电脑与手机的直播Demo》介绍了如何使用RTMP Streamer实现完整的RTMP直播流程,另一篇文章《利用SRT协议构建手机APP的直播Demo》介绍了如何使用SRT Streamer实现完整的SRT直播流程,接下来介绍如何使用EasyPusher-Android实现完整的RTSP直播流程。
封面图

FFmpeg开发笔记(五十三)移动端的国产直播录制工具EasyPusher

9 月 26 日
阅读 2 分钟
82
​EasyPusher是一款国产的RTSP直播录制推流客户端工具,它支持Windows、Linux、Android、iOS等操作系统。EasyPusher采用RTSP推流协议,其中安卓版EasyPusher的Github托管地址为 [链接] 。
封面图

FFmpeg开发笔记(五十二)移动端的国产视频播放器GSYVideoPlayer

9 月 23 日
阅读 4 分钟
91
​GSYVideoPlayer是一个国产的移动端视频播放器,它采用了IJKPlayer、Media3(EXOPlayer)、MediaPlayer、AliPlayer等四种播放器内核,支持弹幕、滤镜、广告等多项功能。
封面图

FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架

9 月 18 日
阅读 4 分钟
126
​很多程序员想学习音视频的编程开发,却不知从何学习,因为音视频技术的体系庞大、知识杂糅,一眼望去就令人生怯。那么学习音视频建议站在前人的肩膀上,从优秀的音视频开源框架开始钻研,先熟悉这些开源工具的具体用法,再深入了解这些开源框架的实现代码。
封面图

FFmpeg开发笔记(五十)聊聊几种流媒体传输技术的前世今生

9 月 9 日
阅读 3 分钟
116
​自从互联网普及之后,用于视频直播的流媒体技术就发展起来。这几十年中,比较有影响的主要有MMS、RTSP、RTMP、HLS、SRT、RIST几种,分别介绍如下。
封面图

FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP

9 月 5 日
阅读 2 分钟
107
​对各高校即将毕业的学子来说,毕业设计算是在大学里的最后一个大作业。特别是软件、计算机、电子等相关专业,毕业设计非常讲究实操,往往要求实现一个实用的、可用的、易用的软件系统或手机APP。
封面图

FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构

8 月 30 日
阅读 4 分钟
255
​音视频技术的一个主要用途是直播,包括电视直播、电脑直播、手机直播等等,甚至在线课堂、在线问诊、安防监控等应用都属于直播系统的范畴。由于直播系统不仅涉及到音视频数据的编解码,还涉及到音视频数据的实时传输,因此直播领域采用的网络技术标准比较高,实现起来也比一般的WEB系统复杂。
封面图

FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向

8 月 20 日
阅读 3 分钟
114
​IT寒冬之下,程序员这个职业不再像以往那么吃香,尤其是APP开发的门槛越来越高,使得安卓程序员不得不求变,如果不在技术上及时转型提高,逆水行舟未来不可期呀。
封面图

FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo

8 月 15 日
阅读 4 分钟
144
​不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ、微信为代表的即时通信工具,能够实时传输文本和图片。其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊。
封面图

FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流

8 月 12 日
阅读 3 分钟
181
​SRT Streamer是一个安卓手机端的开源SRT协议直播推流框架,可用于RTMP直播和SRT直播。SRT Streamer支持的视频编码包括H264、H265等等,支持的音频编码包括AAC、OPUS等等,可谓功能强大的APP直播框架。
封面图

FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP

8 月 9 日
阅读 2 分钟
169
​一年一度的毕业季就要到了,毕业设计算是大学生毕业前的最后一个大作业,尤其是计算机相关专业的毕业设计,通常要通过编程开发一个软件,比如开发一个图书馆管理系统,开发一个电商APP等等。
封面图

FFmpeg开发笔记(四十三)使用SRS开启SRT协议的视频直播服务

8 月 6 日
阅读 3 分钟
245
​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKit。
封面图

FFmpeg开发笔记(四十二)使用ZLMediaKit开启SRT视频直播服务

8 月 1 日
阅读 4 分钟
866
​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKit。
封面图

FFmpeg开发笔记(四十一)结合OBS与MediaMTX实现SRT直播推流

7 月 29 日
阅读 3 分钟
338
​《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2  FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有于2017年推出的SRT协议,相比常见的RTMP协议,SRT协议具有更低的延迟,并且消除了卡帧、抖动等花屏现象。腾讯视频云已经引入了SRT协议,在实践中取得了良好的视频直播效果。
封面图

FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流

7 月 25 日
阅读 2 分钟
270
《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2  FFmpeg向网络推流”介绍了轻量级流媒体服务器MediaMTX,虽然MediaMTX使用很简单,可是不能满足复杂的业务需求,故而实际应用中需要引入专业的流媒体服务器。 nginx-rtmp是开源WEB服务器Nginx可增强的第三方rtmp模块,该模块封装了rtmp服务器,可以提供简单的rtmp...
封面图

FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg

7 月 22 日
阅读 2 分钟
334
​《FFmpeg开发实战:从零基础到短视频上线》一书的“第11章  FFmpeg的桌面开发”介绍了如何在Windows环境对Qt结合FFmpeg实现桌面程序,那么Windows系统通过Visual Studio开发桌面程序也是很常见的,下面就介绍如何在Visual Studio的C++工程中集成FFmpeg库和SDL2库。
封面图

FFmpeg开发笔记(三十八)APP如何访问SRS推流的RTMP直播地址

7 月 19 日
阅读 3 分钟
163
​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKit。
封面图

FFmpeg开发笔记(三十七)分析SRS对HLS协议里TS包的插帧操作

7 月 16 日
阅读 2 分钟
123
​《FFmpeg开发实战:从零基础到短视频上线》一书的“2.1.2  音视频文件的封装格式”介绍了视频流的PS格式和TS格式。由于TS包的长度固定,从TS流的任一片段开始都能独立解码,因此可以把TS当成音视频文件的封装格式。
封面图

FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流

7 月 11 日
阅读 2 分钟
249
​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKit。
封面图

FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt

7 月 8 日
阅读 5 分钟
357
​《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2  FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有比较两种比较新的流媒体协议,分别是SRT和RIST。
封面图

FFmpeg开发笔记(三十四)Linux环境给FFmpeg集成libsrt和librist

7 月 4 日
阅读 2 分钟
255
​《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2  FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有比较两种比较新的流媒体协议,分别是SRT和RIST。
封面图

FFmpeg开发笔记(三十三)分析ZLMediaKit对H.264流的插帧操作

7 月 1 日
阅读 2 分钟
242
​《FFmpeg开发实战:从零基础到短视频上线》一书的“3.4.3  把原始的H264文件封装为MP4格式”介绍了如何把H.264裸流封装为MP4文件。那么在网络上传输的H.264裸流是怎样被接收端获取视频格式的呢?前文指出H.264流必定以“SPS帧→PPS帧→IDR帧”开头,接下来就来验证是否确实如此。
封面图

FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo

6 月 28 日
阅读 4 分钟
257
不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ、微信为代表的即时通信工具,能够实时传输文本和图片。其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊。
封面图

FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流

6 月 25 日
阅读 2 分钟
409
​RTMP Streamer是一个安卓手机端的开源RTMP直播推流框架,可用于RTMP直播和RTSP直播,其升级版还支持SRT直播(腾讯视频云就采用SRT协议)。RTMP Streamer支持的视频编码包括H264、H265、AV1等等,支持的音频编码包括AAC、G711、OPUS等等,可谓功能强大的APP直播框架。
封面图