音视频编解码_学习
文章平均质量分 73
AmoAmo_Amo
这个作者很懒,什么都没留下…
展开
-
音视频编解码相关知识学习
是一种图像压缩或者说视频流格式实际应用中,摄像头采集到的视频,实质上是一帧一帧的图片,只要每秒图片的帧数足够多,我们视觉看起来就像流畅的视频。图像的压缩格式有很多,但是即便是把每张图片压缩到1M,每秒30帧的话,一秒的视频体积也有30M,如果放在网络传输的话,压力是非常大的。原创 2017-08-13 18:24:23 · 408 阅读 · 0 评论 -
基于iOS的网络音视频实时传输系统(六)- AudioQueue播放音频,OpenGL渲染显示图像
AudioQueue播放音频在上一篇中写了解码H264,不过AAC可以省略解码的步骤因为AudioQueue函数提供的接口可以直接播放AAC音频,估计解码的操作它内部自己帮我们做了,AudioQueue的使用主要就是几个函数,还有就是它是偏C的函数,所以ARC管不了,我们自己要注意内存的管理。具体可以参考下面的123篇文章当时我是直接在官方的代码上找的示例,然后一试就可以了。下面是引用官方指南的部分信息:“用于播放的音频队列播放音频队列的结构如下所示。原创 2017-10-12 15:37:07 · 1530 阅读 · 1 评论 -
基于iOS的网络音视频实时传输系统(五)- 使用VideoToolbox硬解码H264
client端--接收音视频数据,并解码H264、AAC原创 2017-10-12 15:34:59 · 2276 阅读 · 0 评论 -
基于iOS的网络音视频实时传输系统(四)- 自定义socket协议(TCP、UDP)
首先我们需要明确一点的就是,为什么需要自定义socket协议?① 客户端与服务器间的相互通信是异步的② 理论上,二者都可以任意地发送或者接受数据③ 但是实际上,它们应该配合:当client发送时,server接受; 当server发送时,让client去接受④ 那么,任何让它们二者配合默契,相互协调呢?⑤ 这就引出了我们需要的——应用底层协议来解决⑥ 这个所谓的协议,实质上就是代码我们都知道,TCP或者UDP的握手协议(三次握手 三次挥手之类),不过这些协议都已经被封装在了TC原创 2017-07-01 23:41:32 · 2488 阅读 · 3 评论 -
基于iOS的网络音视频实时传输系统(三)- VideoToolbox编码音视频数据为H264、AAC
server端--编码音视频数据为H264、AAC这部分花了好多时间,本身就不具备这方面的相关知识,查阅了不少资料,不过关于VideoToolbox和AudioToolbox方面的编码资料寥寥无几,虽然网上搜索结果看似特别多,其实一看 内容也大同小异,建议还是看看官方的文档。原创 2017-10-12 15:33:21 · 2607 阅读 · 0 评论 -
基于iOS的网络音视频实时传输系统(二)- 捕获音视频数据
获取音视频数据,这里使用的是AVCaptureSession,可以方便地自定义相机界面,看起来大概是这样的:原创 2017-09-25 20:41:46 · 2577 阅读 · 0 评论 -
基于iOS的网络音视频实时传输系统(一)- 前言
之前在做类似的网络协议的时候,突发奇想,想写一个网络视频监控,基于局域网的情况下,将MacBook摄像头捕获到的视频,在手机端显示,但是由于对macOS不是很熟悉,最终导致该计划流产。所以后来干脆使用手机捕获视频数据。为了简化项目工作量,socket协议也只用到了一些必要的功能,其他细节如client端退出监控视频时,server端会crash,各位有需要可以自行去添加一些如设置select()函数,或者设置signal()函数忽略这个断开的信号。等等项目中没有写录制设备视频的功能,所以没有用到MP4原创 2017-09-24 23:57:15 · 6059 阅读 · 8 评论 -
FFmpeg第一步--编译
FFmpeg编译参考:https://cnbin.github.io/blog/2015/05/19/iospei-zhi-ffmpegkuang-jia/记得要在Build Settings中找到Search Paths,设置Header Search Pahts 和 Library Search Paths如下。不然会报include“libavformat/avformat.h” file n原创 2017-08-13 23:56:02 · 493 阅读 · 0 评论 -
CMSampleBufferRef与byte*互相转换
**** audio ****byte*转CMSampleBufferRef-(AudioStreamBasicDescription) getAudioFormat{ AudioStreamBasicDescription format; format.mSampleRate = 44100; format.转载 2017-09-21 17:43:17 · 2997 阅读 · 0 评论 -
VideoToolbox视频编码——在macOS上对获取到的视频进行编码的问题记录 及YUV422转YUV420
想在macOS平台上写一个将Mac摄像头上获取到的视频数据使用VideoToolBox编码后socket发送出去的服务器,但是遇到了好多问题先是在接受数据的客户端最终渲染出来的视频中发现绿屏现象,如下图所示:并且报-12911的错误信息,网上查了一下说是视频数据不完整的原因,经过验证,初步排除了socket收发数据有误的可能,所以暂时将焦点放在了macOS端的工程上,将ma原创 2017-08-11 19:20:14 · 6599 阅读 · 3 评论 -
使用VideoToolBox对获取到的视频进行编码
使用VideoToolBox对获取到的视频进行编码这是一个草稿原创 2017-07-17 23:51:51 · 731 阅读 · 0 评论