音视频
文章平均质量分 72
W2Y
技术改变世界,连接你和我!
展开
-
Speex编译脚本(iOS)
1、新建文本为speex_build.sh2、复制以下内容到上面文本中。#!/bin/shZJ_OGG_VERSION=1.3.0ZJ_SPEEX_VERSION=1.2rc1ZJ_IOS_MIN_VERSION=8.0ZJ_SAVE_DIR=`pwd`/SpeexCompileZJ_IOS_SDK_VERSION=`xcrun --sdk iphoneos --show-sdk-ve...原创 2018-02-09 14:47:19 · 572 阅读 · 0 评论 -
基于FFmpeg进行PCM重采样
此文章基于FFmpeg 3.4.2版本,对PCM的采样率、帧格式、通道数进行重采样功能封装。 /** PCM音频重采样 @param audio_in_ctx 音频解码上下文 @param pInFrame 输入帧 @param out_sample_fmt 输出音频格式 @param out_channels 输出音频通道数 ...原创 2019-07-23 16:31:52 · 1807 阅读 · 4 评论 -
解析H264的SPS信息
在做音视频开发的时候,存在不解码视频帧的前提下需要获取视频宽高、帧率等信息,而H.264中的SPS数据可为我们提供这些相关的信息。在此之前,我们需要对一些协议和算法有一定的初步了解,后文中有完整的代码展示。H.264协议我们在此不讲解H.264协议,但是我们需要了解NAL单元语法(NAL unit syntax)、序列参数集数据语法(Sequence parameter set data synt...原创 2018-07-10 15:57:31 · 22852 阅读 · 15 评论 -
iOS硬解码H264视频流
苹果在iOS 8.0系统之前若要做音视频开发需使用第三方软件进行编解码(FFmpeg软解码H264视频流可看到这里),学习成本较大,项目开发进度也可能超出预期。在iOS 8.0之后开放了视频编解码框架VideoToolbox,在此之后对于音视频开发变得相对简单。 一、硬解码名词(结构)解释1、VTDecompressionSessionRef:解码器对象数据...原创 2018-06-27 16:50:15 · 7248 阅读 · 15 评论 -
H264关于一帧完整帧被分切成多个Slice时的合并思路
在对H264进行编解码分析时,碰到一个完整视频帧被切分成多个Slice用于网络媒体传输的情况。而且接收端进行解码时需要一个完整帧(FFmpeg解码不需要拼接,内部已实现),因此怎么拼接多个Slice呢? 对于H264视频流中关于NAL Unit句法、Slice Header结构等不是本文讲述的重点,相关资料可在网上查询,但需要对H264流媒体协议格式中的AVCC及Annex B格式有...原创 2018-06-22 16:10:31 · 12258 阅读 · 16 评论 -
Mac下编译FFmpeg(Android平台)
说在前面的话:之前一直在iOS平台上面做音视频开发,用得较多的是iOS的FFmpeg编译以及裁减等。因工作需要,现在要编译Android环境下的FFmpeg,本想偷懒直接使用网上现成的资源,后发现现成的脚本针对NDK或FFmpeg版本较低。为了统一不同平台(iOS、Android、arm嵌入式等)之间的代码及版本之间的兼容性,自己动手写了一份,不需要配置复杂环境,大家可做参考。 整个...原创 2018-06-13 15:46:38 · 1468 阅读 · 2 评论 -
Mac下编译FFmpeg(iOS平台)
环境 Mac:10.13.5 Xcode:9.4 iOS Target:8.0脚本#!/bin/sh#armv7xcode9.1,#sudo xcode-select -switch pathToXcode9.1/Contents/Developer#xcode-select --print-path#需要编译FFpmeg版本号FF_VERSION="3.4.2"if [...原创 2018-06-13 11:50:25 · 1045 阅读 · 0 评论 -
FFmpeg解码H264视频裸流(直接可用)
此文章主要包含解码H264视频流数据:Annex B格式、H264视频裸流、支持输出RGB24或YUV420格式;原创 2018-05-29 14:44:37 · 23068 阅读 · 18 评论 -
Speex最新库编译脚本(iOS)
1、新建文本为speex_build.sh2、复制以下内容到上面文本中:#!/bin/shZJ_OGG_VERSION=1.3.3ZJ_SPEEX_VERSION=1.2.0ZJ_SPEEXDSP_VERSION=1.2rc3ZJ_IOS_MIN_VERSION=8.0ZJ_SAVE_DIR=`pwd`/SpeexCompileZJ_IOS_SDK_VERSION=`xcrun -...原创 2018-02-27 13:58:03 · 679 阅读 · 0 评论 -
PCM音频播放器模组(iOS)
PCM音频播放器在网上已经有较多的教程及代码,各有千秋,在此不再做过多的描述和讲解。此文章及代码是基于iOS原生系统的接口进行扩展和封装的,支持各种PCM采样率,支持音频数据缓存,支持PCM纯数据流及CMSampleBufferRef结构接口。此模块仅支持单声道,稍有遗憾。PCM播放器确实是比较基础的东西,代码已经过长期验证及测试,可直接拿来使用及参考。若有优化及漏洞,尽情留言告知,非常感谢!...原创 2019-07-25 21:03:48 · 958 阅读 · 0 评论