- 博客(57)
- 资源 (12)
- 收藏
- 关注
转载 iOS ijkplayer 音视频同步
http://www.jianshu.com/p/daf0a61cc1e03.3 音视频渲染及同步3.3.1 音频输出ijkplayer中Android平台使用OpenSL ES或AudioTrack输出音频,iOS平台使用AudioQueue输出音频。audio output节点,在ffp_prepare_async_l方法中被创建:ffp->ao
2017-05-31 15:41:27 3451
原创 iOS ijkplayer Audio Unit 播放音频
设置AudioUnit的播放的方法参考上一篇文章 此处不再多说这里给出AudioUnit的代码请查阅/* * IJKSDLAudioUnitController.h * * Copyright (c) 2013 Bilibili * Copyright (c) 2013 Zhang Rui * * based on https://github.com/kolyvan/kxm
2017-05-31 15:38:36 2244
原创 iOS ijkplayer 音频数据的播放
音频信息 SDL_AudioSpec 的产生read_thread ->stream_component_open(ffp, st_index[AVMEDIA_TYPE_AUDIO]); ->/* prepare audio output */ if ((ret = audio_open(ffp, channel_layout, nb_channels, sampl
2017-05-31 15:36:12 1595
原创 iOS ijkplayer 视频渲染(显示)
iOS ijkplayer 视频渲染(显示)static int video_refresh_thread(void *arg){ FFPlayer *ffp = arg; VideoState *is = ffp->is; double remaining_time = 0.0; while (!is->abort_request) { if
2017-05-31 15:29:34 1531
原创 ijkplayer iOS 音视频解码 详解
ijkplayer iOS 音视频解码//创建音频解码线程if ((ret = decoder_start(&is->auddec, audio_thread, ffp, "ff_audio_dec")) < 0)//创建视频解码线程if ((ret = decoder_start(&is->viddec, video_thread, ffp, "ff_video_dec")) < 0)
2017-05-31 15:28:31 6430 2
原创 iOS ijkplayer prepareToPlay 函数详解
//其中对于iOS端的ijkplayer在播放之前必须要调用prepareToPlay函数- (void)prepareToPlay{ if (!_mediaPlayer) return; [self setScreenOn:_keepScreenOnWhilePlaying]; //这里设置视频的视频源 ijkmp_set_data_sou
2017-05-31 15:27:00 2081
原创 iOS ijkplayer 数据缓存过程 详解
ijkplayer buffering过程static void *SDL_RunThread(void *data){ @autoreleasepool { SDL_Thread *thread = data; pthread_setname_np(thread->name); thread->retval = thread->func
2017-05-31 15:26:16 15307
原创 iOS ijkplayer stream_open 函数详解
创建存放video/audio解码前数据的videoq/audioq创建存放video/audio解码后数据的pictq/sampq/* start video display */ if (frame_queue_init(&is->pictq, &is->videoq, ffp->pictq_size, 1) < 0) goto fail; if (fram
2017-05-31 15:25:25 766
原创 iOS ijkplayer 播放器 消息循环 详解
iOS ijkplayer 消息循环_mediaPlayer = ijkmp_ios_create(media_player_msg_loop);//开始消息循环int media_player_msg_loop(void* arg){ @autoreleasepool { IjkMediaPlayer *mp = (IjkMediaPlayer*)arg;
2017-05-31 15:24:09 3642
原创 ijkplayer iOS初始化
ijkplayer iOS初始化初始化代码 id player = [[IJKFFMoviePlayerController alloc] initWithContentURL:url withOptions:options]; 会调用 - (id)initWithContentURLString:(NSString *)aUrlString withO
2017-05-27 13:39:15 7361
原创 python 入门
python 入门#!/usr/bin/python#coding=utf-8if True: print "True"else: print "False" print "hello world"#total = item_one + item_two + item_threedays = ['Monday', 'Tuesday', 'wednesday'
2017-05-26 14:33:34 418
原创 //#ifdef __cplusplus extern "C" 含义
#ifdef __cplusplusextern "C" {#endif#import @interface ViewController :UIViewController@property (nonatomic,readonly) UIView *headView;@end//#ifdef __cplusplus ex
2017-05-24 21:17:44 463
转载 AAC ADTS格式分析
http://blog.csdn.net/andyhuabing/article/details/409834231.ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。记得第一次做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给硬件解码器时,不能播;保存到本地用pc的播放器
2017-05-24 21:08:15 324
翻译 Audio unit 详解
About Audio Unit HostingiOS provides audio processing plug-ins that support mixing, equalization, format conversion, and realtime input/output for recording, playback, offline rendering, and liv
2017-05-24 20:30:54 602
转载 iOS 音视频高级编程:Audio Unit播放FFmpeg解码的音频
http://www.jianshu.com/p/0d5315bb81ee本文档描述了iOS播放经FFmpeg解码的音频数据的编程步骤,具体基于Audio Toolbox框架的Audio Session和Audio Unit框架提供的接口实现。在iOS 7及以上平台Audio Session已标识为废弃,改用AVAudioSession实现即可,编程逻辑基本保持一致。同时,尝试不解
2017-05-24 20:29:10 2155
转载 iOS Call Kit for VOIP
http://www.jianshu.com/p/3bf73a293535最近苹果 iOS 10 新发布了一个新的框架Call Kit,使第三方VOIP类型语音通话类APP有了更好的展现方式和用户体验的提升,想深入学习一下。基于Apple Audio Unit及开源GCDAsyncSocket做了一个类似’VOIP’的语音通话Demo APP,实现了位于同一局域网下的两台苹果手机之
2017-05-24 20:28:30 2681
转载 音频单元组件服务参考(Audio Unit Component Services Reference)
http://www.cnblogs.com/try2do-neo/p/3278459.html音频单元组件服务参考(Audio Unit Component Services Reference)目录 了解Audio Unit体系结构 文档结构预览 结构单元介绍 本文主要介绍AudioUnit的组成本文由自己理解而成,如有错误,请欢迎
2017-05-24 20:01:28 1412
原创 iOS 如何录制mixer unit 的输出
使用mixer unit进行混音后是无法通过kAudioUnitProperty_SetRenderCallback, kAudioUnitScope_Input 这样的设置io unit的element0是无法回调的,当不和mixer unit相连接时,io unit的element0通过kAudioUnitProperty_SetRenderCallback, kAudioUnitScop
2017-05-24 19:58:50 1179
原创 iOS AudioStreamBasicDescription NSLog 输出
// You can use this method during development and debugging to look at the// fields of an AudioStreamBasicDescription struct.- (void) printASBD: (AudioStreamBasicDescription) asbd { ch
2017-05-23 18:12:19 752
原创 iOS Audio Unit 录音 AudioStreamBasicDescription 详解
在使用Audio Unit 录音和混音时发现耳机的声音只有一个声道有耳机的声音,经过仔细调试发现问题在 AudioStreamBasicDescription 配置的不对,当使用AVAudioFormat 生成AudioStreamBasicDescription时 如果这样配置[[AVAudioFormatalloc] initWithCommonFormat:AVAudioPCMF
2017-05-23 16:09:41 2808
翻译 A quick-and-dirty audio sample mixing technique to avoid clipping
http://atastypixel.com/blog/how-to-mix-audio-samples-properly-on-ios/两个音频数字信号的混合In the real world, when you hear two sounds at once, what you’re hearing is the combination (in the “+” sens
2017-05-23 14:32:00 463 1
翻译 Mixing digital audio 数字音频信号的混合
http://www.vttoth.com/CMS/index.php/technical-notes/68Recently, I encountered an interesting problem during my work: if you have more than one digital audio buffers and you wish to play them b
2017-05-23 14:25:17 669 1
原创 iOS 头文件 只读属性
//头文件//@property (nonatomic, readonly) UIView *headView;#import "ViewController.h"@interface ViewController (){ UIView *_headView;}@end@implementation ViewController//MRC//@property
2017-05-22 18:45:46 1001
转载 c++中冒号(:)和双冒号(::)的用法
http://fengqing888.blog.163.com/blog/static/3301141620100623933512/1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX(2)构
2017-05-19 15:22:32 563
转载 Github上如何给别人贡献代码
http://www.cnblogs.com/chesterphp/p/3577924.html本篇博文仅随前篇博文Github简明教程(入门篇),当然我的独立博客也是采用Github搭建,我所介绍的Github正是我搭建博客过程中一点一点学习的过程,如有错误,还请指出,同样大神们可以绕过。本篇重点介绍Github上如何给别人贡献代码,通过这个过程,也可以知道如果一个项目托
2017-05-19 12:02:20 1116
原创 github 如何下载代码
github 如何下载代码github下载代码大概分三种情况下载的代码不需要包含git管理既不包含.git文件这个时候直接在github上面点击download下载即可 这时候下载的代码不包含git管理既不包含.git文件下载的代码要包含git管理但是没有配置ssh如果需要git管理但是没有ssh权限可以使用git clone repo_url 来下载代码 repo_url为https卡头的url,
2017-05-19 12:01:20 26434
原创 git clone指定的tag代码 只clone仓库中的一个分支
git clone指定的tag代码git How to git clone a specific taggit clone –branch This command is not supported in git 1.7.9.5.I use git 1.8.3.5 and it works 这样会使当前版本的head指针处于游离状态 所有的提交在切换分支后都会被丢弃。git clone –bran
2017-05-19 11:43:32 30220
原创 git 获取指定的tag处代码
git 获取指定的tag处代码tag是对历史提交的一个id的引用,如果理解这句话就明白了tag的含义使用git checkout tag即可切换到指定tag,例如:git checkout v0.1.0切换到tag历史记录 会使当前指针处在分离头指针状态,这个时候的修改是很危险的,在切换回主线时如果没有合并,之前的修改提交基本都会丢失,如果需要修改可以尝试git checkout -b branch
2017-05-19 11:11:27 85293 1
转载 FFmpeg视频播放流程
http://www.cnblogs.com/shakin/p/4522302.htmlFfplay视频播放流程主框架流程下图是一个使用“gcc+eygpt+graphviz+手工调整”生成的一个ffplay函数基本调用关系图,其中只保留了视频部分,去除了音频处理、字幕处理以及一些细节处理部分。注:图中的数字表示了播放中的一次基本调用
2017-05-18 20:15:43 3784
翻译 FFmpeg SDL_AudioSpec 详解
http://wiki.libsdl.org/SDL_AudioSpecSDL_AudioSpecA structure that contains the audio output format. It also contains a callback that is called when the audio device needs more data.
2017-05-18 20:09:46 3237
原创 FFmpeg 音频相关专有名词详解
音频相关内容sample:样本 采样SampleRate:采样频率 每秒采样的个数 如aac 44.1khz 每秒采样44.1k次(一秒采样44.1k个sample)BitsPerSample:采样位数 采样位数可以理解为采集卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实。我们首先要知道:电脑中的声音文件是用数字0和1来表示的。连续的模拟信号按一定的采样频率经数码脉冲取样后
2017-05-18 19:50:12 2668
转载 FFMPEG中最关键的结构体之间的关系
原文地址:http://blog.csdn.net/leixiaohua1020/article/details/11693997 特此向原作者致敬!!!注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCo
2017-05-18 18:00:55 267
转载 h264 I,P,B帧和PTS,DTS的关系
http://www.cnblogs.com/qingquan/archive/2011/07/27/2118967.htmlhttps://tieba.baidu.com/p/1385855820基本概念:I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机
2017-05-18 17:46:35 2856
转载 音视频同步(播放)原理
http://blog.csdn.net/zhuweigangzwg/article/details/25815851音视频同步有三种,视频同步音频,音频同步视频,音视频同步到其他时钟。每一帧音频或视频都有一个持续时间:duration:采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。。正常人听觉的频率范围大约在20Hz~20kHz之间,根据奈
2017-05-18 15:38:49 623
转载 PCM转WAV格式 Wav数据格式的44个字节头部信息汇总
http://ikinglai.blog.51cto.com/6220785/1224481一般通过麦克风采集的录音数据都是PCM格式的,即不包含头部信息,这样导致很多播放器都播放不了,你只能用像Audition这样的专业工具才能进行播放,显然是非常不方便的。为了得到wav格式的录音数据,我们在保存录音数据的时候就要自己手工加上44个字节的头部信息。wav格
2017-05-18 14:10:13 5082
转载 某直播App问题分析
http://www.cnblogs.com/hyddd/p/6678930.html某直播App问题分析一. 出现问题观看自己开播的直播间,经常出现卡顿,而且画面一卡6,7s,重新播放时会出现跳帧,卡顿频率也较高,导致该App可用性极低。二. 分析1. 直播架构分析根据log与抓包分析,其使用协议与后端架构如下:直播server
2017-05-11 19:42:04 630
转载 某直播App问题分析
http://www.cnblogs.com/hyddd/p/6678930.html某直播App问题分析一. 出现问题观看自己开播的直播间,经常出现卡顿,而且画面一卡6,7s,重新播放时会出现跳帧,卡顿频率也较高,导致该App可用性极低。二. 分析1. 直播架构分析根据log与抓包分析,其使用协议与后端架构如下:直播server
2017-05-11 19:41:57 1089
转载 条件变量pthread_cond_t怎么用
http://blog.csdn.net/zclongembedded/article/details/7337729关于一点pthread_cond_t条件锁的思考以及实验转:http://blog.csdn.net/aniao/article/details/5802015APUE上,关于条件锁。其中有这么几条总结:1.使用条件锁前必须先锁住对应的互斥锁。
2017-05-11 19:37:19 541
转载 iOS音频掌柜-- AVAudioSession
http://www.jianshu.com/p/3e0a399380df音频输出作为硬件资源,对于iOS系统来说是唯一的,那么要如何协调和各个App之间对这个稀缺的硬件持有关系呢?iOS给出的解决方案是"AVAudioSession" ,通过它可以实现对App当前上下文音频资源的控制,比如插拔耳机、接电话、是否和其他音频数据混音等。当你遇到:是进行录音还是播放
2017-05-11 19:34:15 1325
转载 iOS AudioSession详解 Category选择 听筒扬声器切换
http://blog.csdn.net/xy5811/article/details/8563137在你读这篇文章之前,如果你不嫌读英文太累,推荐阅读下苹果iOS Human Interface Guidelines中Sound这一章。选择一个CategoryAVAudioSessionCategoryAmbient 或 kAudioSessionCa
2017-05-11 19:32:34 1587
PaintCode for Mac 破解版 Version 2.1 (21005)
2015-11-20
Win7资源管理器背景设置 shellstyle
2014-08-15
VS2010 相同单词高亮显示 插件
2014-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人