07 2022 档案
摘要:Miracast音视频流概述 在上一篇文章中,我们已经成功完成RTSP能力协商与会话的建立,并准备开始音视频流的传输阶段。那么下一步,就是对音视频流进行解析,并将音视频展示给用户的过程。这样整个Miracast的流程就算分析完毕了。 先简单来总结下,在Miracast底层的实现中,是采用RTP协议对
阅读全文
摘要:简介 在上一篇《ijkplayer编译-RTSP》中介绍了,ijkplayer如何进行编译成so库的,以及如何开启rtsp。那么实际在使用的时候会发现延迟不是一般的大。 现在来介绍一下如何解决这个延迟的,经过测试延迟时间可以控制在500ms左右。 修改ijkplayer源码的ff_ffplay.c文
阅读全文
摘要:AHandler AMessage ALooper消息机制 AHandler是Android native层实现的一个异步消息机制,在这个机制中所有的处理都是异步的,将变量封装到一个消息AMessage结构体中,然后放到队列中去,后台专门有一个线程ALooper会从这个队列中取出消息然后分发执行,执
阅读全文
摘要:Sink源码概述 Miracast Sink端源码最早出现在Android 4.2.2上,通过googlesource可以很方便的查看: https://android.googlesource.com/platform/frameworks/av/+/android-4.2.2_r1.2/medi
阅读全文
摘要:RTSP概述 在上一篇博客中我们已经通过Wi-Fi P2P建立好了Source和Sink端的TCP连接,在Miracast后续的音视频传输过程中,将采用RTSP协议来对流媒体进行控制。因此接下来的步骤就到了RTSP协商、会话建立及流媒体传输的阶段。首先,什么是RTSP协议呢? 实时流协议(Real
阅读全文
摘要:Miracast概述 Miracast Miracast是由Wi-Fi联盟于2012年所制定,以Wi-Fi直连(Wi-Fi Direct)为基础的无线显示标准。支持此标准的消费性电子产品(又称3C设备)可透过无线方式分享视频画面,例如手机可透过Miracast将影片或照片直接在电视或其他设备播放而无
阅读全文
摘要:音视频介绍 音视频解码流程 FFmpeg解码的数据结构说明 AVFormatContext:封装格式上下文结构体,全局结构体,保存了视频文件封装格式相关信息 AVInputFormat:每种封装格式,对应一个该结构体 AVStream[0]:视频文件中每个视频(音频)流对应一个该结构体 AVCode
阅读全文
摘要:FFmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code
阅读全文
摘要:1.编译平台和版本 使用操作系统 Ubuntu 18.04 使用ndk版本:android-ndk-r14b-linux-x86_64.zip (使用r17c编译会报错) AS版本:4.2.2 1.1 安装git: sudo apt install git 1.2 配置java环境: 解压JDK:
阅读全文
摘要:一、图像基础概念 像素:像素是一个图片的基本单位,pix是英语单词picture的简写,加上英语单词“元素element",就得到了"pixel",简称px,所以“像素”有‘图像元素”之意。 分辨率:是指图像的大小或尺寸。 比如1920x1080。 位深:是指在记录数字图像的颜色时,计算机实际上是用
阅读全文