自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 IOS 摄像头采集之 AVCaptureDevice 简单使用 (Swift)

一,基础AVFoundation框架中有几个类实现图像捕捉 ,通过这些类可以访问来自相机设备的原始数据并控制它的组件AVCaptureDevice 是相机硬件相关,可以设置硬件属性:曝光,镜头位置,闪光灯,白平衡等AVCaptureSession 管理输入输出的数据流AVCaptureVideoPreviewLayer 是 CALayer 的子类,可用于自动显示相机产生的实时图像二...

2019-06-12 10:48:04 2859

原创 Socket + ProtocolBuffer实现消息通讯(Swift)

最近在学习webRTC里面的Socket机制,回忆一下之前用到的Socket+ProtocolBuffer,这次用Swift实现简单的IM消息通讯。步骤如下:一 依赖库集成依赖库:SwiftSocketprotobuf-swift根据自己的需要创建对应消息格式的的proto文件然后执行命令 生成对应的 swift 文件protoc person.proto --swi...

2019-06-10 12:31:38 471

原创 AVPlayer 问题记录

1,截图问题:用 copyPixelBufferForItemTime 截图失败处理:需要在player 播放前初始化添加好AVPlayerItemVideoOutput截图代码 CMTime itemTime = self.player.currentItem.currentTime; //没有提前初始化加好 AVPlayerItemVideoOutput 这里的Bu...

2019-05-06 17:06:08 131

原创 SDL (四)SDL YUV播放和PCM播放

SDL 中播YUV和PCM数据的步骤比较简单:1,播放YUV数据//1 打开文件video_file = fopen(path, "r");//2 读取数据video_buff_len = fread(video_buf, 1, yuv_frame_len, video_file)//3 更新纹理SDL_UpdateTexture(texture, NULL, video_pos...

2019-05-05 18:08:12 83

原创 SDL (三) 纹理 渲染 bmp图片

//SDL 图片渲染#include <stdio.h>// #include <stdafx.h>#include <SDL2/SDL.h>// #define IMG_PATH "/Users/bigfish/test/SDL_logo.png"#define IMG_PATH "/Users/bigfish/test/AAC05.bmp"#...

2019-05-05 10:12:49 198

原创 SDL (二)图形绘制 矩形 三角形

一,SDL图形绘制API:点 线 矩形 填充矩形坐标系左上角是(0,0)/** * 点 */extern DECLSPEC int SDLCALL SDL_RenderDrawPoint(SDL_Renderer * renderer, int x, int y);/** * 多个...

2019-04-30 16:31:53 588

原创 SDL (一) Mac 编译SDL库,VSCode调试,Xcode调试

一,下载编译(SDL2 pkg):// 0 下载编译SDL2 [下载最新的SDL2 安装包](https://www.libsdl.org/download-2.0.php) 解压: tar -zvxf SDL2-2.0.9.tar.gz // 1 --prefix=[make install输出目录] ./configure --prefix=/usr/lo...

2019-04-30 14:42:37 876

原创 Mac下vscode配置FFmpeg调试

最近在用vscode 写FFmpeg相关的代码,如果用命令行运行的话,有时候语法错误报的是段错误(segmentation fault),所以找了一下配置vscode 调试的方法,记录一下:1,装一点小插件:2,按照官方文档新建对应的配置文件:官方文档3,修改tasks.json配置文件:{ "version": "2.0.0", "tasks": [{ "l...

2019-04-29 16:27:25 1245

原创 FFmpeg 'avcodec_copy_context' deprecated (视频裁剪)

在学习一些代码的时候发现有些已经弃用了:记录一下新的写法:1,avcodec_copy_context以前的写法:ret = avcodec_copy_context(outStream->codec, inStream->codec); if (ret < 0) { fprintf(stderr, "Failed to copy contex...

2019-04-24 16:58:12 245

原创 FFmpeg 编码、解码器列表(IOS)

在做支持硬解码的时候 avcodec_find_decoder_by_name 需要传入解码器的名字,那IOS中硬解码器的名字有哪些呢?这里给出一个查询方法和解码器清单:/*** Find a registered decoder with the specified name.** @param name name of the requested decoder* @return A...

2019-04-19 09:54:40 1091

原创 ffmpeg当前版本mp4容器 支持G711修改

1,编译脚本设置编译参数#支持PCM和G711编解码 --enable-encoder=pcm_alaw --enable-decoder=pcm_alaw#–enable-demuxer=mov 支持mov,mp4,m4a,3gp,3g2,mj2解复用 configure_flags="–enable-cross-compile --disable-debug–disable-progr...

2019-03-21 09:47:09 1167 2

原创 c++工程在 Mac 下编译成.a库调用

最近在IOS开发中有多次要集成c++工程,所以学习了一下怎么在Mac下把C++工程编译成.a库,在IOS中调用。 **clang实现**第一步 准备a 创建一个C++ demo工程b 创建一个头文件#ifndef ZBLIB_ZBHEADER_H#define ZBLIB_ZBHEADER_Hclass CTestLib{public: virtual void...

2019-03-12 16:14:29 1147

原创 Mac 交叉编译mqtt openssl pjsip

同事给编译出来的mqtt openssl pjsip一堆,需要交叉编译成一个,简单记录一下流程

2019-03-01 16:44:57 132

原创 Android OpenGL ES 播放 yuv420p文件

Android OpenGL 播放 yuv420p文件

2018-10-10 18:02:40 1205 13

原创 OpenSLES播放pcm(Android)

OpenSLES本身可以解码音频、支持录音、音频播放,这里学习一下音频的播放。一,音频播放步骤(1)创建并设置SL引擎(2)创建设置混音器 (多路声音混合)(3)创建设置播放器 (控制播放)(4)设置回调并写入缓冲队列 (存储播放数据)二,初始化引擎#include &lt;SLES/OpenSLES.h&gt;#include &lt;SLES/...

2018-09-27 18:16:11 1575

原创 Mac 快速查找快捷键command+f失效解决办法

请卸载 【钉钉重点内容】

2018-09-05 15:57:06 981 2

原创 FFmpeg在IOS平台编译使用 (FFmpeg 4.0.2)

强调内容所需要的工具: 1, gas-preprocessor 2, FFmpeg-iOS-build-script 3,yasm :brew install yasm一 gas-preprocessor (下载好后)将gas-preprocessor.pl文件复制粘贴到 /usr/bin/ 目录下 注意添加权限 chmod 777 gas-...

2018-08-25 10:07:24 999

原创 YouTube直播SDK集成(二)

一,前面已经知道了基础的环境配置,先看登录: (1)首先要导入SDK,然后引入头文件import GoogleSignIn(2)然后触发登录按钮的时候进行是否需要登录的逻辑判断,进行登录 //登录 func googleSignIn(with viewController: UIViewController) { if isGoogleConnected...

2018-08-11 11:25:49 2320

原创 YouTube直播SDK集成(一)

因为工作需要研究YouTube和FaceBook直播推流,因为网上教程太少,整理一下集成的流程。一,相关网站 1,首先要有一个Google的账号2, 启用 YouTube Data API v3 (https://console.developers.google.com) 3,然后到https://console.developers.google.com 创建凭据获...

2018-08-10 16:02:06 4803 4

原创 Mac 下 XCode 配置GTools GLFW GLEW(GLFW3.2.1报错问题解决,编译GLFW3.3版本)

折腾了一天很久 终于搞定了mac 下开发OpenGL 的基础环境配置,记录一下流程:一 参考学习教程: https://learnopengl-cn.github.io/二 配置环境: 前提有安装homebrew (1)安装cmake brew install cmake(2)安装glew glfwbrew install glew brew inst...

2018-08-10 15:13:01 634

原创 FFmpeg 像素格式转换和尺寸转换

Demo FFmpeg 可以实现像素格式转换和尺寸转换,但是性能开销非常大,对视频帧率影响比较大,实际开发中最好用 Shader来实现,FFmpeg的优势转换接口比较简单。像素格式转换上下文 SwsContext(1)sws_getContext (2)sws_getCachedContext( struct SwsContext *context, int srcW, i...

2018-08-10 15:11:33 3060

原创 FFmpeg 解码性能测试demo( iphone 6s plus 真机测试)

Demo 头文件:#include &lt;sys/time.h&gt;获取当前时间方法//当前时间戳 毫秒级别(一秒解多少帧)long long getNowMs(){ struct timeval tv; gettimeofday(&amp;tv, NULL); long long sec = tv.tv_sec%360000; //秒 只取1...

2018-08-10 15:11:12 761

原创 FFmpeg 解码 avcodec_find_decoder AVCodecContext

avcodec_find_decoder(1)解码模块第一步:获取解码器 avcodec_find_decoder()FFmpeg的解码器编码器都存在avcodec的结构体中 (2) 解码前保证用到的解码器已经注册好 avcodec_register_all();(过期) (3)通过解封装之后,从avstream里面获取CodecID ,通过CodecID来查找decoder AVC...

2018-08-10 15:10:51 2694

原创 avformat_find_stream_info获取视频流信息

在一些格式信息中可能没有头部信息,比如:FLV 可以用avformat_find_stream_info探测文件信息:编码宽高,但不能获取总时长。 尝试打印视频时长和流信息:可以发现FLV 里面是没有读到的尝试添加 avformat_find_stream_info //获取流信息 读取部分视频做探测 avformat_open_input_result = a...

2018-08-10 15:10:32 1564

原创 AVFormatContext结构体分析&空间关闭清理

Demo AVFormatContext 的成员非常多,接下来说一下常用的部分:一:AVIOContext *pb //IO上下文 自定义格式读/从内存当中读 ,av_read_frame 根据 pb结构体来读二:char filename[1024] 文件路径文件名,断开重连时用到 三:AVStream **streams 数组 unsigned int nb_str...

2018-08-10 15:10:09 678

原创 FFmpeg IOS 解封装

解封装流程:Demo 引入头文件://核心库-音视频编解码库#import &lt;libavcodec/avcodec.h&gt;//封装格式库#import &lt;libavformat/avformat.h&gt; (1)av_register_all() 注册所有的封装格式、加封装格式;也可以在使用之前单个注册。(新版本该方法弃用了) 在...

2018-08-10 15:09:33 191

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除