音视频
文章平均质量分 57
iChenwin
这个作者很懒,什么都没留下…
展开
-
ZLMediaKit源码分析一:代码目录总览
ZLMediaKit源码分析一:代码目录总览原创 2023-11-03 11:04:07 · 921 阅读 · 1 评论 -
iOS报错:resourceOptions (0x10) must match backing buffer resource options
2018年,在苹果WWDC2018开发者大会上,苹果宣布弃用OpenGL,改而启用自家的Metal图形库。由此,很多原本使用OpenGL的iOS项目,出现的兼容性问题。最近,笔者开发的播放器也出现了类似问题,在调用OpenGL的渲染接口(presentRenderbuffer)时,App卡住,报以下错误:-[MTLDebugBuffer newTextureWithDescriptor:offset:bytesPerRow:]:326: failed assertion `resourceOpti原创 2021-11-24 19:27:53 · 1731 阅读 · 0 评论 -
H.264分隔符AUD误用导致iOS设备无法播放H.265视频的问题解决
AUD,全称Access Unit Delimiter,它是H.264接入单元(Access Unit,AU)的分隔符。AU定义为多个按解码顺序排列的NALU,这些NALU解码正好生成一个图像。AU可以看成压缩视频比特流的基本单位,压缩视频流有多个按顺序排列的AU组成。每个NALU都会属于某个AU单元,压缩视频流的第一个NALU则为第一个AU的第一个NALU。AUD是个特殊的NALU,它用来分隔AU,虽然AUD在编码标准中是可选的,但有的播放器会要求必须携带AUD,它才能识别一整幅图像,才能正确解码原创 2021-11-23 17:17:26 · 2520 阅读 · 0 评论 -
H265 NALU类型详细解析
1. H265 NALU类型解析F: 禁止位,必须为0,表示有效;为1的话表示无效。Type: 6-bits NALType 确定NAL的类型,其中VCL NAL和non-VCL NAL各有32类。0-31是vcl nal单元;32-63,是非vcl nal单元。VCL是指携带编码数据的数据流,而non-VCL则是控制数据流。vcl nal单元的类型(0-31)如下表:non-vcl nal单元的类型(32-63)如下表:Non-VCL NAL Type:No...原创 2021-11-17 19:32:57 · 9042 阅读 · 0 评论 -
AV1源码分析(一)
AOM 工程AOMedia Video 1是一个开放、免专利的影片编码格式,专为通过网络进行流传输而设计。它由开放媒体联盟开发,该联盟由半导体企业、视频点播供应商和网页浏览器开发商于2015年成立。互联网工程任务组也将这项工作标准化为互联网视频编解码器(NetVC)。AV1的目标是取代其前身,即由谷歌开发的VP9视频压缩格式,并与动态图像专家组(MPEG)领导开发的高效率视频编码(HEVC)以...原创 2020-03-16 23:16:03 · 8864 阅读 · 0 评论 -
PS封装格式:GB28181协议RTP传输
PS封装格式:GB28181协议RTP传输1. GB28181要求的RTP流格式2. 头部信息 在安防行业,有个协议是无论如何都要适配的,因为公安监控网络用的就是它,它就是:GB28181。而这份协议主要由海康制定,所以除了海康其他厂商想要适配都会少许有点儿麻烦。题主前东家便是海康,这里稍微分析下该协议几个容易搞混的细节,记录在此,方便以后自己查阅,也方便诸位。1. GB28181要求的...原创 2019-08-26 22:06:54 · 18602 阅读 · 14 评论 -
VLC中用到的YUV格式
原创 2019-01-18 20:11:27 · 1070 阅读 · 0 评论 -
H264编码之宽高比:DAR、SAR、PAR之间的关系
一次写播放器,基于ijkplayer。在播放一些网络视频的时候,发现无论怎么转码,视频比例始终不对。即便获取了分辨率,但是播放的时候,view不是分辨率比例的那个长宽比。使用ffmpeg查看了一下属性,见下图:原来有几个参数,之前都没有认真对待的。SAR 2:1 DAR 32:9视频本身的分辨率是1080P,即 1920x1080查资料才发现,视频在使用264编码的时候,使用了sar和...原创 2018-12-24 10:16:18 · 7456 阅读 · 2 评论 -
PES包结构解析
PES包结构图解:PES前面几个字段填写方法:// 生成 pes 头数据 buffer[0] = 0x00; buffer[1] = 0x00; buffer[2] = 0x01; buffer[3] = (unsigned char)(pes->stream_id); buffer[4] = (unsigned char)((pe...原创 2018-12-10 20:56:34 · 6203 阅读 · 1 评论 -
通过ffprobe分析mp4 媒体信息
查看mp4的包信息:ffprobe -i 396025.MP4 -show_packets···$ ffprobe -i ch01_00000000049000000.mp4 -show_packets[PACKET]codec_type=audiostream_index=1pts=7568010pts_time=84.089000dts=7568010dts_time=84...原创 2018-12-06 11:50:36 · 3188 阅读 · 0 评论 -
在Ubuntu上安装CMU Sphinx语音识别引擎
Some BackgroundI recently installed Ubuntu 14.04 on my Lenovo Yoga, and it’s time to reinstall SPHINX. When I installed SPHINX for the first time in September 2015, it was not a fun experience. I ...转载 2018-07-01 00:18:30 · 2661 阅读 · 0 评论 -
Linux音频ALSA编程
前序:这里了解一下各个参数的含义以及一些基本概念。样本长度(sample):样本是记录音频数据最基本的单位,常见的有8位和16位。通道数(channel):该参数为1表示单声道,2则是立体声。帧(frame):帧记录了一个声音单元,其长度为样本长度与通道数的乘积。采样率(saampleRate):每秒钟采样次数,该次数是针对帧而言。周期(period):音频设备一次处理所需要的帧数,对...转载 2018-04-29 00:32:28 · 786 阅读 · 0 评论 -
ffmpeg常用命令
剪辑视频ffmpeg -ss 00:00:02 -t 00:00:15 -i input.mp4 -vcodec copy -acodec copy output.mp4添加背景音乐ffmpeg -y -i video.mp4 -i bgm.mp3 output.mp4剔除背景音乐ffmpeg -i input.mp4 -vcodec copy -an output.mp4...原创 2018-02-15 13:56:47 · 299 阅读 · 0 评论