自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 webRtc与H264的那些事

为什么webRtc使用H264会黑屏?WebRTC 自诞生之日起, 就代表了实时通信领域的最好的技术. 不过很长时间里, 它所支持的视频编码器只有VP8, 后来随着H265/VP9为代表的下一代视频编码器的诞生, WebRTC里出现了VP9 Codec. 而当前应用最广泛的H264 却一直不受待见. 一直到Cisco 宣布旗下的H264 Codec开源为OpenH264, 并且替所有OpenH264的使用者支付了H264的专利费, 以次为契机, 在IETF的WebRTC会议中, 把H264和VP8都列入

2021-08-04 18:31:35 1768

转载 Android多媒体(三) mediaPlayer使用简介

参见https://www.jianshu.com/p/0131ab02e0fe

2021-07-16 20:23:15 770

原创 ijk的那些事(一)编译项目

安装:一、安装必要软件:git,yasmsudo apt-get install git yasm二、拉取源码:git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android三、初始化编译环境:# 进入到ijk目录cd ijkplayer-android# 检查一下版本,注意下面版本号,去ijk的github上看git checkout -B latest k0.8.8# 初始化环境,或拉取.

2021-07-15 14:30:36 375

原创 ijk的那些事--知其所以然

本系列将从下面几个专题,对之前的零散知识点进行串联,总结。本章没有干货,立个flag。ijkPlayer开源项目源码分析:1.编译项目2.ijkplayer初始化流程3.ijkplayer视频播放流程,音频,视频解析流程4.ijkplayer消息传递,播放器主要状态回调5.ijkplayer 音视频同步原理分析6.ijkplayer 音视频倍速实现分析7.setoption机制及直播首帧优化8.ijk常见问题分析...

2021-07-15 11:23:23 200

原创 安卓音视频基础 (八)

视频采集到播放完整链路采集基本思路:视频采集:camera类预览:surfaceView音频采集:AudioRecored编码:mediaCodec 视频h264 音频 aac封装:mediaMuxer播放基本思路:mediacodec 解码 音频视频surfaceView 显示audioTrack音频播放...

2021-07-14 17:08:35 53

原创 安卓音视频基础(七)

音视频录制流程总结在前面我们学习和使用了AudioRecord、AudioTrack、Camera、MediaExtractor、MediaMuxer API、MediaCodec。 学习和使用了上述的API之后,相信对Android系统的音视频处理有一定的经验和心得了。本文及后面的几篇文章做的事情就是将这些知识串联起来,做一些稍微复杂的事情。一、流程分析1.1 需求说明我们需要做的事情就是:串联整个音视频录制流程,完成音视频的采集、编码、封包成 mp4 输出。1.2 实现方式An.

2021-07-08 01:02:50 92

原创 安卓音视频基础(六)

MediaCodec API 详解下面开始接触一个Android音视频中相当重要的一个API:MediaCodec。通过这个API,我们能够做很多Android音视频方面的工作,下面是我们学习这个API的时候,主要的方向:学习 MediaCodec API,完成音频 AAC 硬编、硬解 学习 MediaCodec API,完成视频 H.264 的硬编、硬解一、MediaCodec 介绍  MediaCodec类可以用于使用一些基本的多媒体编解码器(音视频编解码组件),它是Android基本.

2021-07-08 00:43:31 116

原创 安卓音视频基础(五)

4月2日

2021-07-08 00:22:39 158

原创 安卓音视频基础(四)

4月2日

2021-07-08 00:20:27 79

原创 安卓音视频基础(三)

4月2日

2021-07-07 23:41:27 760

原创 安卓音视频基础(二)

4月2日

2021-07-07 23:27:14 88

转载 安卓音视频入门(一)

4月2日

2021-07-07 23:13:20 61

原创 Android多媒体(一)--mediacodec剖析

sfaf

2021-03-17 23:24:27 420

原创 Android多媒体(二)--AudioTrack

mahsnag

2021-03-17 23:23:39 403

原创 【视频直播】CDN 实现商业娱乐直播

3月21日更新

2021-03-17 23:19:46 76

原创 【视频直播】RTMP传输实战--原理基础

3月20日更新

2021-03-17 23:18:41 465

原创 【视频直播】ijkplayer播放直播视频

1、ijkplayer 编码IjkPlayer支持硬解码和软解码。 软解码时不会旋转视频角度这时需要你通过onInfo的what == IMediaPlayer.MEDIA_INFO_VIDEO_ROTATION_CHANGED去获取角度,自己旋转画面。或者开启硬解硬解码,不过硬解码容易造成黑屏无声(硬件兼容问题),下面是设置硬解码相关的代码mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);

2021-03-17 23:10:22 379

原创 【视频直播】延时优化2

解决低延迟问题的核心思想:NO BUFFER低延迟:顾名思义,就是让播放端和推流端的时间差越小越好,那么如何做到低延迟呢,一个词概括:no buffer首先说明一下视频流的流向:推流端--->CDN服务器--->拉流端1. 推流端 nobuffer,也就是保证推流端缓存的buffer最小。这样基本上保证在推流端出现网络抖动或者突然变差的情况下,能够舍弃已经缓存的buffer,继续推新生成好的视频帧。这样保证了,在网络端开始传输的时候的视频内容是最新的。2. CDN nobuffe

2021-03-17 22:58:39 277

原创 [视频直播] 延迟优化

音视频的直播系统是一个复杂的工程系统,要做到非常低延迟的直播,需要复杂的系统工程优化和对各组件非常熟悉的掌握。下面整理几个简单常用的调优技巧:编码优化1. 确保 Codec 开启了最低延迟的设置。Codec 一般都会有低延迟优化的开关,对于 H.264 来说其效果尤其明显。很多人可能不知道 H.264 的解码器正常情况下会在显示之前缓存一定的视频帧,对于QCIF 分辨率大小的视频(176 × 144)一般会缓存 16 帧,对于 720P 的视频则缓存 5 帧。对于第一帧的读取来说,这是一个很大的延.

2021-03-17 22:10:00 498

转载 【视频直播】相关概念及流程

[视频直播] 直播相关概念常用的几种视频协议是:RTMP、HTTP-FLV、HLS、RTP/RTCP协议。(1)视频直播协议直播类型分类:交互式直播,非交互式直播非交互式直播主要是单向性,如nba直播,用户不与主播发生交互行为,视频允许的延时时间较为宽松,特点是源较少,适合做多路转码。交互式直播:如抖音直播等,用户与主播之间的交互较为频繁,所以对延时性的要求比较严格,特点是源较多,不适合做多路转吗,中间服务器作为中转角色。直播内容传输的介质是网络,在网络中传输视频音频数据,需要.

2021-03-17 21:40:33 335

转载 [视频相关] blob:http 地址的原理及生成方法

blob 其实是 h5 表征的 Blob 对象数据,具体请看文档。我们可以使用 Blob 对象隐藏真实的资源路径,在一定程度上可以起到数据的加密性,更多的是为了干扰爬虫。比如日常使用的一些音频,视频,图片,我们都可以使用其 Blob 二进制数据流来表征数据,而非使用 uri,就像经常用到的 image src 的 dataUrl。要使用 blob 来表征数据资源,需做到以下两点:1、服务端返回的为资源的二进制数据2、前端接收到二进制数据后,使用 URL.createObjectURL(blo

2020-11-04 11:33:41 1306 1

原创 [音视频基础知识]视频编解码

H264中的profile和level:

2020-09-14 10:58:34 180

原创 [音视频基础知识]  H264编码原理

H264的压缩率与GOP:建议码流不是规则是总结出来的经验值,具体参考声网文档.码流参考值:https://docs.agora.io/cn https://docs.agora.io/cn/Video/video_profile_android?platform=AndroidGOP:画面组,两个关键帧之间及前一个关键帧数据.I帧/P帧/B帧:IDR帧与I帧的关系:H264帧与分组关系,默认的组合是:一个GOP. 一个I帧,3个B帧.一个p帧,依次排列下去....

2020-09-08 17:16:03 611

原创 [音视频基础知识] YUV实战

124

2020-09-04 15:30:35 130

原创 [音视频基础知识]  视频基础知识

胡说八道一番:异常点:BPM格式的数据排列顺序不是RGB,而是BGR.参考链接:http://www.360doc.com/content/12/0406/16/2036337_201444004.shtml视频码流的计算:RGB与YUV关系:RGB: 用于显示的视频数据YUV:采集和编码的视频数据在不同的平台上,与哪些高效的库用来渲染视频?安卓:HardwareVideoCodec是一个高效的Android音视频编码库,支持软编和硬编, 支持高性能的RTMP直

2020-09-04 10:11:11 224 1

原创 [音视频基础知识]  AAC编码实践

1.创建AAC编码器 ffmpeg编码过程:创建并打开编码器:

2020-09-03 22:06:15 387

原创 [音视频基础知识]音频编码

音频重采样:改变音频三元组(采样率,采样大小,通道数)的数据,以适配播放要求.解决的问题:音频采集设备的数据与编码器要求不一致,播放器要求的视频播放数据与要播放数据不一致.如何知道是否需要重采样:1.了解音频设备参数,(打开设备管理查看) 2.查看ffmpeg源码.重采样步骤:重采样的几个重要API:重采样上下文创建及参数设置,初始化:重采样转换:此处转换的参数类型需要转换成需要的类型:创立输入输出缓冲区,转换参数至所需类型采集数据个数4096

2020-09-02 10:47:46 318

原创 [音视频基础知识]音频编码原理

音频压缩:1.有损压缩, 2无损压缩有损压缩:(去除人耳听觉范围以外及被遮蔽的声音数据)频域遮蔽:频率相近,声音强度大的遮蔽声音强度小的,如两个女生吵架.频率不接近,声音强度不同,在可听范围内,不会遮蔽,如男人跟女人吵架.时域遮蔽:声音强度大的,前50ms,后200ms,都能遮蔽掉声音强度小的无损压缩:熵编码,包括哈夫曼编码,算术编码,香农编码等,压缩后的数据能够恢复到原来的数据,没有任何数据丢失.几种常见编码器:speex:具有回音消除特性.opus.优

2020-08-28 21:24:10 492

原创 【音视频基础知识】swift调用C语言及mac app引入ffmpeg库

阿达是否都上改变

2020-08-21 17:40:02 446

原创 [视频相关2]网址解析接口

偶遇一种网页的写法,iframe中插入视频的src, 没有视频标签.此处有两个问题:(1) iframe中的链接不能正常播放,(2)链接的写法较为奇怪.疑问一:此处为何使用iframe嵌入视频链接,而不是video标签,或者embed标签?原因很简单:video标签只支持三种视频格式,embe标签适用于flash视频,移动端用不了.iframe标签,非常适合解决从各大主流视频网站直接拿到的视频.没有诸多限制.适应性最好.疑问二:https://www.ixxplayer.co

2020-08-20 20:25:36 5190 2

转载 [视频相关1]页面中插入视频的方法---video/embed/iframe总结

1. video标签当前主流的方法当然是HTML5中的video标签了,但是当前,video 元素只支持三种视频格式:Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件如果你的视频文件是mp4格式的,那么推荐使用video标签,兼容PC端和移动端。mp4格式文件兼容IE9+、Chrome

2020-08-20 19:50:40 7168

原创 【音视频基础知识】swift语法

每日正能量:默默努力,然后惊艳所有人.

2020-06-24 15:19:49 178

原创 【音视频基础知识】音频采集

每日正能量:做自己想做的事,成为自己想成为的人

2020-06-20 17:46:27 473

原创 【音视频基础知识】音频基础知识

每日正能量:不忘初心,方得始终

2020-06-19 21:57:49 360

原创 【音视频基础知识】编译ffmpeg与ffplay

只要你开始奔跑,多久都不算晚。

2020-06-19 00:24:41 191

原创 【音视频基础知识】学习路线

一:学习路线二:学习目标:1. 掌握音视频基础知识2. h264编码原理及参数调优3. 实战音视频采集4. 实战音视频编码5. 构建大并发流媒体服务器6. rtmp传输三:理论实践结合四:音视频的应用1. 互动直播系统2. 娱乐直播系统3. 音视频特效4. 音视频编辑5. 监控系统五:最简单的直播系统:推流工具(如ffmpeg等),流媒体服务器(cdn网络), 拉流工具(ffplay, vlc等)...

2020-06-18 23:56:29 572

原创 初见,山川不是你,山川都是你

开此博客, 原因有二: 一是记录学习过程, 温故知新; 二是结交同学,互相交流,共同进步.博客记录过程将会由以下几个部分组成:1. [音视频基础知识]2. [ffmpeg使用介绍]3. [webRtc使用介绍]4. [播放器内部原理初探及搭建播放器]5. [直播平台搭建及常见直播问题记录]接下来将每周三, 六, 日定期跟新内容, 欢迎交流批评指正....

2020-06-18 17:05:43 169

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除