在ios平台上实现全功能视频处理 | 盛大微酷 赵志猛
TRANSCRIPT
![Page 1: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/1.jpg)
iOS上开发视音频处理
微酷首席架构师 赵志猛
iOS DevCamp
Produced by CSDN
Website: http://devcamp.csdn.net
Weibo: http://weibo.com/cmdnclub
Thursday, August 2, 12
![Page 2: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/2.jpg)
2000-2006
2006-2011
2011.5.
关于我
Thursday, August 2, 12
![Page 3: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/3.jpg)
内容
什么是视音频处理
移动端的视音频处理
IRISTM引擎
微酷
Thursday, August 2, 12
![Page 4: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/4.jpg)
什么是视音频处理
视音频处理就是增强视音频内容的可观赏性
转码
剪辑
滤镜和特效
视频叠层
音轨处理
Thursday, August 2, 12
![Page 5: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/5.jpg)
视频转码
Thursday, August 2, 12
![Page 6: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/6.jpg)
视频转码
文件格式
RMVB、AVI、WMV、MPG、DIVX、XVID、MOV、FLV/F4V、MP4、3GP ……
Thursday, August 2, 12
![Page 7: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/7.jpg)
视频转码
文件格式
RMVB、AVI、WMV、MPG、DIVX、XVID、MOV、FLV/F4V、MP4、3GP ……
帧率
30fps、25fps、24fps、15fps、10fps ……
Thursday, August 2, 12
![Page 8: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/8.jpg)
视频转码
分辨率和码率
SD 4:3、HD 16:9、IMAX 2.2:1 ……
CIF 352x288、480x360、VGA 640x480、1280x720、1920x1080、4096x3072 ……
互联网:流畅、标清、高清、超清
Thursday, August 2, 12
![Page 9: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/9.jpg)
产品 视频码率@分辨率3.5~5Mbps@3072p, 3~4.3Mbps@1080p, 2~2.9Mbps@720p, 0.8~1Mbps@480p,
0.5Mbps@360p
1Mbps@622p, 500Kbps@378p, 300Kbps@288p
2Mbps@720p, 500Kbps@360p, 300Kbps@256p
1500Kbps@576p, 600Kbps@480p, 300Kbps@320p, 180Kbps@240p
上行1.4Mbps,分发800Kbps@360p
上行2.8Mbps,分发2.8Mbps或800Kbps@480p
上行512Kbps,分发512Kbps@360p
Thursday, August 2, 12
![Page 10: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/10.jpg)
视频转码
编码算法
MPEG-2
DivX
MPEG-4 Part 10 H.264/AVC
VP8
AVS
Thursday, August 2, 12
![Page 11: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/11.jpg)
音频转码
采样率
8K
44.1K、48K、96K
量化
8-bit、16-bit、24-bit、32-bit
·
人类听力范围:20Hz~20KHz
Thursday, August 2, 12
![Page 12: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/12.jpg)
音频转码
声道
Mono、Stereo、5.1
码率
20Kbps~128Kbps、192Kbps
编码算法
PCM、WMA、MP3、AAC、AMR ……
Thursday, August 2, 12
![Page 13: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/13.jpg)
剪辑
剪裁
拼接
Thursday, August 2, 12
![Page 14: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/14.jpg)
滤镜和特效
颜色处理
图像处理
模板特效
变形特效
视频变速
Thursday, August 2, 12
![Page 15: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/15.jpg)
颜色处理之颜色空间
RGB vs YUV
Thursday, August 2, 12
![Page 16: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/16.jpg)
颜色处理之LOMO
LOMO公司,俄罗斯圣彼得堡
列宁格勒光学机械联盟
Lomographische AG公司,奥地利
过渡饱和、失衡曝光、模糊等
Thursday, August 2, 12
![Page 17: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/17.jpg)
颜色处理之LOMO
LOMO公司,俄罗斯圣彼得堡
列宁格勒光学机械联盟
Lomographische AG公司,奥地利
过渡饱和、失衡曝光、模糊等
Thursday, August 2, 12
![Page 18: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/18.jpg)
颜色处理之黑白
Thursday, August 2, 12
![Page 19: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/19.jpg)
图像处理之马赛克
平均值法
随机采样法
各种让信号缺失的方法……
Thursday, August 2, 12
![Page 20: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/20.jpg)
图像处理之马赛克
平均值法
随机采样法
各种让信号缺失的方法……
Thursday, August 2, 12
![Page 21: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/21.jpg)
图像处理之马赛克
平均值法
随机采样法
各种让信号缺失的方法……
去马赛克可能吗?
Thursday, August 2, 12
![Page 22: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/22.jpg)
图像处理之马赛克
平均值法
随机采样法
各种让信号缺失的方法……
死心吧去马赛克可能吗?
Thursday, August 2, 12
![Page 23: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/23.jpg)
SOBEL算子边缘提取
图像处理之素描
Thursday, August 2, 12
![Page 24: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/24.jpg)
SOBEL算子边缘提取
图像处理之素描
Thursday, August 2, 12
![Page 25: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/25.jpg)
图像处理之色键
RGB空间 f(r, g, b) -> alpha
蓝屏或绿屏
YUV空间 f(y, u, v) -> alpha
完整色域的处理
Alpha Blending
Thursday, August 2, 12
![Page 26: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/26.jpg)
图像处理之MotionBlur
Thursday, August 2, 12
![Page 27: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/27.jpg)
图像处理之MotionBlur
Thursday, August 2, 12
![Page 28: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/28.jpg)
模板特效之爆炸
Thursday, August 2, 12
![Page 29: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/29.jpg)
模板特效之爆炸
Thursday, August 2, 12
![Page 30: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/30.jpg)
模板特效之相框
Thursday, August 2, 12
![Page 31: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/31.jpg)
变形特效之扭曲
Thursday, August 2, 12
![Page 32: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/32.jpg)
变形特效之大眼
Thursday, August 2, 12
![Page 33: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/33.jpg)
变形特效之鱼眼
Thursday, August 2, 12
![Page 34: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/34.jpg)
视频变速之快慢放
改变视频播放的时长
10s
5s
15s
源视频:
快放:
慢放:
Thursday, August 2, 12
![Page 35: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/35.jpg)
视频变速之快慢放
Thursday, August 2, 12
![Page 36: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/36.jpg)
视频变速之快慢放
Thursday, August 2, 12
![Page 37: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/37.jpg)
视频叠层
视频轨的概念
多轨合成
Video A
Video BVideo C
Thursday, August 2, 12
![Page 38: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/38.jpg)
视频叠层之画中画
Thursday, August 2, 12
![Page 39: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/39.jpg)
视频叠层之AlphaBlending
快速Blend
cr_C = cr_A * alpha_A + cr_B * (1 - alpha_A)
正片叠底
alpha_C = alpha_A + alpha_B - alpha_A * alpha_B
cr_C = (cr_A * alpha_A + cr_B * alpha_B * (1 - alpha_A)) / alpha_C
Thursday, August 2, 12
![Page 40: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/40.jpg)
音轨处理
替换
混音
变速变调
自动增益
降噪
Thursday, August 2, 12
![Page 41: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/41.jpg)
移动端的视音频处理
Thursday, August 2, 12
![Page 42: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/42.jpg)
移动端的视音频处理
目标
实时拍摄、文件导入剪辑、实时渲染和预览360p、15fps、主观画质不能明显失真、要省流量全平台可播放:MP4 + AAC + AVC
Thursday, August 2, 12
![Page 43: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/43.jpg)
移动端的视音频处理
目标
实时拍摄、文件导入剪辑、实时渲染和预览360p、15fps、主观画质不能明显失真、要省流量全平台可播放:MP4 + AAC + AVC
问题和挑战
不同的操作系统不同的硬件平台
Thursday, August 2, 12
![Page 44: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/44.jpg)
性能
Thursday, August 2, 12
![Page 45: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/45.jpg)
性能
15fps:每帧66ms内要完成拍摄/解码、特效、实时预览、编码、文件IO所有工作
Thursday, August 2, 12
![Page 46: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/46.jpg)
性能
15fps:每帧66ms内要完成拍摄/解码、特效、实时预览、编码、文件IO所有工作
拍摄
解码特效 编码
1 2 31 2 3
缓冲队列 缓冲队列
Thursday, August 2, 12
![Page 47: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/47.jpg)
性能
15fps:每帧66ms内要完成拍摄/解码、特效、实时预览、编码、文件IO所有工作
编解码⼀一定要用硬件,ffmpeg的实时性不给力
拍摄
解码特效 编码
1 2 31 2 3
缓冲队列 缓冲队列
Thursday, August 2, 12
![Page 48: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/48.jpg)
性能
Thursday, August 2, 12
![Page 49: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/49.jpg)
性能
特效渲染⼀一定要用GPU,Neon或类似SIMD指令是不够给力的
Thursday, August 2, 12
![Page 50: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/50.jpg)
性能
特效渲染⼀一定要用GPU,Neon或类似SIMD指令是不够给力的
要尽可能 大化pipeline的并行性能,编解码硬件、CPU、GPU三者都是可以并行的
Thursday, August 2, 12
![Page 51: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/51.jpg)
性能
特效渲染⼀一定要用GPU,Neon或类似SIMD指令是不够给力的
要尽可能 大化pipeline的并行性能,编解码硬件、CPU、GPU三者都是可以并行的
资源要复用,要做VideoFramePool、AudioFramePool、ShaderPool、VideoTexturePool、EffectPool等等
Thursday, August 2, 12
![Page 52: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/52.jpg)
动态帧率
Thursday, August 2, 12
![Page 53: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/53.jpg)
动态帧率
移动设备拍摄⼀一定会出动态帧率
iOS5以前只能设置 大帧率
iOS5以后可以同时控制 大 小帧率
Thursday, August 2, 12
![Page 54: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/54.jpg)
动态帧率
移动设备拍摄⼀一定会出动态帧率
iOS5以前只能设置 大帧率
iOS5以后可以同时控制 大 小帧率
处理时的丢帧机制也会导致动态帧率
如果处理流水线在某个环节卡住,就需要丢帧
Thursday, August 2, 12
![Page 55: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/55.jpg)
动态帧率
移动设备拍摄⼀一定会出动态帧率
iOS5以前只能设置 大帧率
iOS5以后可以同时控制 大 小帧率
处理时的丢帧机制也会导致动态帧率
如果处理流水线在某个环节卡住,就需要丢帧
解码时无法根据数学公式准确计算 后⼀一的位置或时间,需要做预测
Thursday, August 2, 12
![Page 56: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/56.jpg)
像素格式
Thursday, August 2, 12
![Page 57: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/57.jpg)
像素格式
YUV 4:2:0
视频编解码多基于这种格式,将Y和UV分片存储
Thursday, August 2, 12
![Page 58: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/58.jpg)
像素格式
YUV 4:2:0
视频编解码多基于这种格式,将Y和UV分片存储
Y U V
Thursday, August 2, 12
![Page 59: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/59.jpg)
像素格式
YUV 4:2:0
视频编解码多基于这种格式,将Y和UV分片存储
RGBA
数据连续,但数据量大,而且解码后要做⼀一次YUV到RGB的颜色转换
Thursday, August 2, 12
![Page 60: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/60.jpg)
OpenGL ES
Thursday, August 2, 12
![Page 61: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/61.jpg)
OpenGL ES
texture要按2^n对齐,显存利用率低
640x480 -> 1024x512,YUV⼀一帧768KB,RGBA⼀一帧2MB
Thursday, August 2, 12
![Page 62: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/62.jpg)
OpenGL ES
texture要按2^n对齐,显存利用率低
640x480 -> 1024x512,YUV⼀一帧768KB,RGBA⼀一帧2MB
YUV4:2:0像素格式的texture管理方法
Luminance的Y + Luminance_alpha的UV
Thursday, August 2, 12
![Page 63: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/63.jpg)
OpenGL ES
texture要按2^n对齐,显存利用率低
640x480 -> 1024x512,YUV⼀一帧768KB,RGBA⼀一帧2MB
YUV4:2:0像素格式的texture管理方法
Luminance的Y + Luminance_alpha的UV
下行不能直接用texture,要用render buffer
Thursday, August 2, 12
![Page 64: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/64.jpg)
视频编码
AVC BaselineProfile
AVC MainProfile
理论上要比Baseline质量高出30%
Android部分低端机不支持
iOS的硬编码与Baseline没什么质量区别
Thursday, August 2, 12
![Page 65: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/65.jpg)
音频编码
iOS4以后不再支持AMR
Android2.3以前Native只能录AMR,不能录AAC,但可以播AAC
Thursday, August 2, 12
![Page 66: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/66.jpg)
剪辑
Thursday, August 2, 12
![Page 67: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/67.jpg)
剪辑
逐帧剪,要做好解码控制
Thursday, August 2, 12
![Page 68: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/68.jpg)
剪辑
逐帧剪,要做好解码控制
拼接点如果做过渡,比较难控制
视频总长会变短
A B
Thursday, August 2, 12
![Page 69: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/69.jpg)
剪辑
逐帧剪,要做好解码控制
拼接点如果做过渡,比较难控制
视频总长会变短
拼接点附近音频要CrossFade,防止硬切换的爆音
A B
Thursday, August 2, 12
![Page 70: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/70.jpg)
剪辑
逐帧剪,要做好解码控制
拼接点如果做过渡,比较难控制
视频总长会变短
拼接点附近音频要CrossFade,防止硬切换的爆音
拼接不同分辨率与幅面比的视频时要做好适配
A B
Thursday, August 2, 12
![Page 71: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/71.jpg)
分辨率不统⼀一
Thursday, August 2, 12
![Page 72: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/72.jpg)
分辨率不统⼀一各种移动端输出各种分辨率
iOS5以前只能出HighQuality、VGA640x480、MediumQuality、LowQuality,5以后多了1280x720、1920x1080两种
Thursday, August 2, 12
![Page 73: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/73.jpg)
分辨率不统⼀一各种移动端输出各种分辨率
iOS5以前只能出HighQuality、VGA640x480、MediumQuality、LowQuality,5以后多了1280x720、1920x1080两种
各种分辨率与幅面比的适配
完全拉伸,图像或变胖或变瘦按高或宽适配,面临填黑边、裁剪的问题牛掰的seam carving,算不过来
Thursday, August 2, 12
![Page 74: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/74.jpg)
视频慢放
邻近帧采样会⼀一蹦⼀一蹦
相邻帧插值会有重影
运动估计加非线性插值的运算量非常大
10s
15s
输出输入帧映射示意
Thursday, August 2, 12
![Page 75: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/75.jpg)
音轨处理
采集的单声道和音乐双声道的混音问题
大 小值的自动增益算法会失效
需要统计期望平均值然后做非线性增益
Thursday, August 2, 12
![Page 76: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/76.jpg)
码率问题
Thursday, August 2, 12
![Page 77: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/77.jpg)
码率问题
iOS拍摄的视频文件码率很高
即使是VGA640x480的分辨率,码率仍然在2~3Mbps,30秒就要耗掉10MB,赶上蓝光
Thursday, August 2, 12
![Page 78: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/78.jpg)
码率问题
iOS拍摄的视频文件码率很高
即使是VGA640x480的分辨率,码率仍然在2~3Mbps,30秒就要耗掉10MB,赶上蓝光
码率的选择
对于移动3G而言:W x H x (3~6)bps
我们的实验结果:512Kbps@480x360
Thursday, August 2, 12
![Page 79: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/79.jpg)
文件格式
3GP格式逐渐不被支持iOS生成的mp4文件metadata在 后,部分Android设备不能播,flash如果要播则需要完全加载完文件才行,所以 后要把metadata换到文件前面去
MOV 3GP(*) flv/f4v mp4(*)
iOS Native YES YES - YES
Android Native - YES YES YES
Flash - YES YES YES
HTML5 YES YES - YES
PlayerFormat
Thursday, August 2, 12
![Page 80: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/80.jpg)
HOME键/锁屏
Thursday, August 2, 12
![Page 81: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/81.jpg)
HOME键/锁屏
线程即刻会被挂起,内存资源可能会被回收
Thursday, August 2, 12
![Page 82: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/82.jpg)
HOME键/锁屏
线程即刻会被挂起,内存资源可能会被回收
要立刻交还所有的硬件资源
摄像头、麦克风、GPU、编解码器
Thursday, August 2, 12
![Page 83: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/83.jpg)
HOME键/锁屏
线程即刻会被挂起,内存资源可能会被回收
要立刻交还所有的硬件资源
摄像头、麦克风、GPU、编解码器
如果是后期编辑在渲染,退入后台再回来,就需要从头开始渲染
Thursday, August 2, 12
![Page 84: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/84.jpg)
HOME键/锁屏
线程即刻会被挂起,内存资源可能会被回收
要立刻交还所有的硬件资源
摄像头、麦克风、GPU、编解码器
如果是后期编辑在渲染,退入后台再回来,就需要从头开始渲染
程序逻辑与渲染流水控制极其麻烦
Thursday, August 2, 12
![Page 85: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/85.jpg)
边播边存
MPMoviePlayer是不能边播边存的
要自己搭建本地的HttpServer做Proxy
主要是为用户省流量,提高二次观看体验
Thursday, August 2, 12
![Page 86: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/86.jpg)
IRISTM引擎
Interactive Rendering Integrated System
全平台
Thursday, August 2, 12
![Page 87: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/87.jpg)
Timeline Manager
Output
Preview
Encode Engine
Render Engine
Decode EngineInput
Effect Manager
Thursday, August 2, 12
![Page 88: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/88.jpg)
技术 编解码 渲染 拍摄 后期制作
iOS硬件CPUGPU
硬件 GPU实时特效 实时
视频剪辑特效混音字幕
Android硬件CPUGPU
硬件解CPU编 GPU实时特效 实时 开发中
Web FlashHTML5 GPU GPU实时 实时 同iOS
Server CPU CPU CPU超实时 无 无
Thursday, August 2, 12
![Page 89: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/89.jpg)
iOS模块实现框图
MMFoundation
RenderEngine EncodeEngineDecodeEngine
AudioDecoder VideoDecoder
CaptureManager
MMDataStructure
VideoFramePoolAudioFramePool
EffectManager
ShaderPool VideoTexturePool
ScreenRenderObjTimelineManager ThreadManager
Thursday, August 2, 12
![Page 90: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/90.jpg)
iOS模块实现框图
MMFoundation
RenderEngine EncodeEngineDecodeEngine
AudioDecoder VideoDecoder
CaptureManager
MMDataStructure
VideoFramePoolAudioFramePool
EffectManager
ShaderPool VideoTexturePool
ScreenRenderObjTimelineManager ThreadManager
Thursday, August 2, 12
![Page 91: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/91.jpg)
iOS模块实现框图
MMFoundation
RenderEngine EncodeEngineDecodeEngine
AudioDecoder VideoDecoder
CaptureManager
MMDataStructure
VideoFramePoolAudioFramePool
EffectManager
ShaderPool VideoTexturePool
ScreenRenderObjTimelineManager ThreadManager
Thursday, August 2, 12
![Page 92: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/92.jpg)
微酷集成了IRIS引擎的移动微视频分享社区
特点
所见即所得的拍摄体验
512Kbps码率,接近专业标清画质
流畅的3G网络视频上传和观看体验
以话题、地点等聚合视频
基于用户兴趣的个性推荐
Thursday, August 2, 12
![Page 93: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/93.jpg)
Thursday, August 2, 12
![Page 94: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/94.jpg)
Thursday, August 2, 12
![Page 95: 在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛](https://reader037.vdocuments.net/reader037/viewer/2022102504/55a0edf51a28abf45e8b45d0/html5/thumbnails/95.jpg)
Q&A
微酷捕捉精彩 瞬间分享
主页:http://vku.sdo.com邮件:[email protected]微博:@vku微酷 http://weibo.com/vkuvku
Thursday, August 2, 12