
音视频
文章平均质量分 85
shoolay
最光辉的一次传说
展开
-
音视频入门(学习ffmpeg tutorial之iOS 音视频同步)
基本原理音频和视频流内部有信息来控制播放的时机以及速度,音频内部有采样率,视频有帧率,表明每秒播放帧数,但是呢这两个数值很明显是不同的,比如音频一般是44100HZ,而fps一般标准是60,那么要想让音视频同步,就需要使音频流和视频流往同一个标准时间上靠近。这里我们选择音频流的时间作为标准。如何往音频流时间靠,需要一些比较细的计算方式,一般采用PTS和DTS,也就是展示时间戳和解码时间戳(也就...原创 2019-12-31 18:25:18 · 486 阅读 · 0 评论 -
音视频入门(学习ffmpeg tutorial之 iOS 视频多线程)
FFmpeg视频多线程接上一章节使用多线程来播放音频,这里讲讲如何使用多线程来播放视频,首先需要明确的是,多线程播放视频比多线程播放音频要复杂,因为音频的播放可以直接使用audio_callback方法来控制音频硬件读取的缓存区大小,没有数据了就直接调用这个方法读一批数据进来,但是视频硬件读取数据是需要代码来控制视频缓冲区的读取的,因此需要再弄一个生产者消费者模式代码来展示图片帧。具体流程图如下...原创 2019-12-29 21:16:43 · 363 阅读 · 1 评论 -
音视频入门(学习ffmpeg tutorial之 iOS音频解码与播放)
隔了好久好久。。。。,其实ffmpeg是有专门的教程的,只是其中很多内容过期了,我这里也只是当作一个学习的过程,然后记录下来。音视频开发需要具备的知识点如下(从他人处copy过来的)rtsp、sdp、tcp、udp、ip协议(rtsp的DESCRIBE、OPTION、SETUP、PLAY、PAUSE、TEARDOWN;tcp连接的三次握手/断开的四次握手)socket多线程opengl ...原创 2019-12-18 16:04:41 · 500 阅读 · 4 评论 -
音视频入门(iOS的x264的交叉编译)
本篇记录我编译x264包的过程。概念在上一篇iOS上fdk-aac的交叉编译已经介绍了,所以这里简单粗暴的上configure:export CC="xcrun -sdk iphoneos clang"export AS="gas-preprocessor.pl xcrun -sdk iphoneos clang"./configure \--enable-static \--en...原创 2018-12-23 18:18:21 · 2641 阅读 · 0 评论 -
音视频入门 (iOS上fdk-aac的交叉编译)
前篇音视频入门记录了我对音视频的一些基础理解。现在将我在交叉编译ffmpeg之前的一些准备工作记录一下。本文记录fdk-aac的交叉编译,首先需要说明几个问题:基本概念交叉编译:有过移动开发经验或者嵌入式开发经验的对这个行为应该是非常熟悉的,所谓交叉编译就是在平台A(比如电脑)上利用提供的编译链工具编译出能够运行在平台B(比如手机)的代码的整个过程。iOS提供的编译工具链就是xcode...原创 2018-07-30 22:46:53 · 1221 阅读 · 0 评论 -
音视频入门
最近在熟悉iOS音视频相关的内容。音视频主要内容包括:编解码、封装与解封装、相关网络传输协议以及音视频同步。大致关系如下图(从网上搜到的): 协议:类似于http一样,音视频通讯有rtmp、hls等网络应用层协议,这些应用层协议规定了按照怎样的规则对数据进行传输。比如hls就规定将数据进行分段,然后首先拉取一个根index文件,之后根据这个索引文件拉取次级索引文件,最后根据这些...原创 2018-07-04 22:31:21 · 584 阅读 · 0 评论 -
音视频入门(iOS编译ffmpeg的configure配置)
本篇文章接之前的x264编译configure选项,写一下ffmpeg的configure选项。ffmpeg的arm64架构configure选项./configure \--disable-everything \ //首先关闭所有configure选项,保证编译的时候不会需要引入很多多余的代码模块--enable-gpl \ //使用gpl协议,如果是公司产品要...原创 2019-01-10 11:24:14 · 8754 阅读 · 0 评论 -
音视频入门(学习ffmpeg tutorial之iOS 环境搭建)
目前做的事情就是按照ffmpeg tutorial上的内容学习写一个简单的播放器,这本教程虽然已经过时了,但是针对ffplayer(ffplayer是ffmpeg官方给出的示例播放器,ijkplayer就是根据ffplayer改造的播放器)中的编解码流程描述依然是正确的,所以在学习此教程的时候有很多老的API需要修改,尤其是针对SDL的api。目前我用的SDK版本是ffmpeg4.0.2以及sdl...原创 2019-01-22 18:25:20 · 10752 阅读 · 0 评论 -
音视频入门(学习ffmpeg tutorial之 iOS视频解码及展示)
使用ffmpeg进行解码的流程是固定的,就如同iOS开发一样,从viewDidLoad,viewWillApear,viewDidAppear,苹果都已经把需要调用的方法顺序告诉我们了,需要我们做的就是把自己业务代码合理的放到对应的位置。视频解码基本流程注册需要支持的文件格式以及对应的编解码器打开文件从文件中提取数据流信息从数据流(视频数据流/音频数据流/字幕数据流)中找到对应的视频数...原创 2019-01-30 18:00:17 · 360 阅读 · 0 评论