对于任何H.264解码器而言,都要将SPS和PPS信息传递给解码器.FFmpeg内部做了设置,所以没有显示设置.但是对于硬件解码器来讲,开发者必须手动设置.另外,使用FFmpeg解码出来的视频帧是以YUV格式存储于内存中的,但是对于硬件解码器来讲,一般都是直接解码到显存,便于后续的处理与渲染.H.264有两种封装格式,一种是Annexb封装,另外一种是mp4(AVCC)封装.输入数据给解码器时需要特定的格式.VTB decoder要求的是mp4(AVCC)格式的输入,而MediaCodec要求的…
H.264格式,iOS硬编解码 以及 iOS 11对HEVC硬编解码的支持 1,H.264格式 网络表示层NAL,如图H.264流由一帧一帧的NALU组成: SPS:序列参数集,作用于一系列连续的编码图像: PPS:图像参数集,作用于编码视频序列中一个或多个独立的图像: 这两个帧也是独立的NALU. I-Frame:关键帧,帧内编码后的帧,显示比较完全的一帧: P-Frame:参考前一帧,可能只是对比前一帧的运动估计的变化部分: B-Frame:会参照前后的帧,其他类似P-Frame.B和P F…
本文档为iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):1 概述续篇,主要描述: CMSampleBufferRef读取实际数据 序列参数集(Sequence Parameter Set, SPS) 图像序列参数(Picture Parameter Set, PPS) 等内容. 1.视频实际内容数据持久化 1.1.可攻可受的CMSampleBufferRef 文档1 概述中回调函数 static void compressionOutputCallback(  …
本文档尝试用Video Toolbox进行H.265(HEVC)硬件编码,视频源为iPhone后置摄像头.去年做完硬解H.264,没做编码,技能上感觉有些缺失.正好刚才发现CMFormatDescription.h中enum : CMVideoCodecType提供了kCMVideoCodecType_HEVC枚举值.所以呢,作死试试 iOS 9.2 硬编HEVC. 结论:不支持开发者使用H.265(HEVC),可以用H.264(AVC). 1.读取iPhone后置摄像头 提示:iPhone不支…
今日批量导入游戏, 从别人接口拉去的字符串json_decode总是失败, 但是把log里面记录的解码失败的字符串copy出来单独解析,却可以成功. 排除了是字符编码的问题后, 还是不行, 百思不得其解. 只好二进制对比, 把接收到buf和我打印到log对比, 发现还真存在一些差异 分析:一个一个字节对比, 发现从第373个字节开始不匹配. 一个是9=>\t, 一个是32对应空格.373 not equal, org:9 , new:32 , 原来, 如果字符串中含有\t字符, 就会解码失败.…
转载请注明出处:http://www.cnblogs.com/lihaiping/p/5285166.html 今天在做本地文件解码测试,发现从mp4,flv文件中读出来的帧数据,h264和aac帧直接送解码器解码,发现解码失败,但文件放在pc上用ffplay和vlc却都能播放,而且这个测试的视频文件是用ffmpeg.exe进行转码出来的,所以应该不存在解码不了的问题,那问题在哪呢? 百度了下,网上有人说mp4文件里面封装的h264有两种格式:h264和avc1: 而这两种格式的差别是: AVC…
为了避免明码传递http内容,可以用base64编码后传输,收到方再解码,也方便了2进制数据的字符串式传输. 对于ios来说,google给提供了一个很好的工具类,方便进行base64编解码,当然也可以用openssl来进行,但这东西相对来 说比较麻烦.google给提供了3个文件就够了. 官网地址是: http://code.google.com/p/google-toolbox-for-mac/ 这里面有很多宝贝,如果自己找很难找到这3个文件,所以我加到附件里.解压后放到ios工程中即可使用…
iOS开发中,一般都是通过AFN搭建一个简易的网络模块来进行与服务器的通信,这一模块要优化好没那么简单,需要花费很多时间与精力,仅仅根据这几年来的填坑经验,总结下这一块的需要注意的地方,也是给自己梳理下知识. 之前写的博客提到了DNS优化.请求数据大小的优化(http://www.cnblogs.com/ziyi--caolu/p/8058577.html).这里主要想理一理合理的并发数以及网络请求可靠性的保障. 优化的理论之前,先建立代码样例,假设我们有这样两个类: @interface ZY…
Decoder模块 将原始数据转换成各种编码和哈希表的简单工具,它能够智能地识别多种编码格式 Decoder as..解码 Encode as...编码 Hash : 哈希值计算 Smart decode : 智能解码 Comparer:比较器 将抓取的包通过选项卡发送至Comparer下 然后在抓一次,修改数据 并发送至Comparer 通过对比来查看 : Modified: 改动的 Deleted: 删除的 Added: 增加的 Sync views: 同时进行移动 Extender: 扩展…
如果一个机器可以发送成功,一个机器发送失败,那多半是是域名的https支持的问题 那就用腾讯云的这个ssl测试工具检测下 https://www.qcloud.com/product/ssl#userDefined10 一般苹果的ATS 检测不通过,那就是域名的https的问题了 那开发还是要继续的,怎么办呢? 可以用HotApp 的https proxy,先代理请求自己后台的数据,等后台的功能修复好,求切换到自己后台上来 hotapp 有免费的https proxy ,可以免费代理请求任何ht…