h.264相关内容

使用SinkWriter编码视频时更改h.264质量

我正在使用Microsoft Media Foundation编码H.264视频文件. 我正在使用SinkWriter创建视频文件.输入是缓冲区(MFVideoFormat_RGB32),在其中绘制帧,而输出是MFVideoFormat_H264. 编码有效,并创建了一个包含我的帧的视频文件.但我想为该视频文件设置质量.更具体地说,我要设置 CODECAPI_AVEncCommonQu ..
发布时间:2020-11-22 00:10:54 其他开发

如何使用libav *将KLV数据包编码为H.264视频

当前,我正在使用libav *编码H.264视频.我想将KLVPackets添加到比特流,但不知道在哪里实现. avcodec中有一个结构,但是我不确定如何将其写到帧元数据中 typedef struct { UID key; int64_t offset; uint64_t length; } KLVPacket; 当前FFMPEG代码(仅左侧相关代码): ..
发布时间:2020-11-22 00:10:51 C/C++开发

播放时,Media Foundation网络摄像头视频H264编码/解码会产生伪像

我有一个解决方案,其中我使用Media Foundation的h264编码器对来自网络摄像头的视频(YUY2)样本进行编码.然后,我通过TCP连接将其发送到另一个应用程序,该应用程序使用Media Foundation的h264解码器将流解码回YUY2格式.解码后,使用DirectX在屏幕上显示视频样本/图像. 问题在于,在关键帧之间,视频图像会出现越来越多的伪像.收到关键帧后,伪像就会消失 ..
发布时间:2020-11-22 00:10:48 C/C++开发

如何从H264 RTP数据包中检测I/P/B帧

我从RTSP流中获得了H264 RTP数据包.因此,我想检测框架是否为I框架. 下面是我从第一次开放流中获得的第一个数据包.因此,我相信这是一个I帧(我先向您展示160个字节). packet: 00 00 00 01 67 4D 00 1F 95 A8 14 01 6E 40 00 00 00 01 68 EE 3C 80 00 00 00 01 06 E5 01 33 80 00 00 ..
发布时间:2020-11-22 00:10:40 其他开发

H.264 RTSP绝对时间戳

是否可以从Axis摄像机通过RTSP发送的H.264流中读取绝对时间戳? 有必要知道相机何时拍摄了镜框. 谢谢 安德里亚 正如Ralf所说的 解决方案 -RTP时间戳相对于随机时钟-它们仅用于计算两个帧之间的差异(或通常来说是RTP数据包) ).要将这些相对值同步到墙上时钟,可以使用RTCP发送器-只需看看Ralf提供的链接即可. 对于使用H.264的Axis产品,此方法效 ..
发布时间:2020-11-22 00:09:36 其他开发

使用MediaCodec进行H264流传输

我目前正在尝试将Android用作Skype端点.在此阶段,我需要将视频编码为H.264(因为它是Skype支持的唯一格式),然后将其与RTP封装在一起,以使流传输正常工作. 显然,出于各种原因,MediaRecorder不太适合此操作.一种是因为它在完成后添加了MP4或3GP标头.另一个原因是,为了将等待时间降至最低,硬件加速可能会派上用场.这就是为什么我想利用最近对框架进行的低级添加,例 ..
发布时间:2020-11-22 00:09:32 移动开发

如何在iOS中实现视频DRM

我正在寻找在iOS视频播放器中实现DRM的方法,但是我不确定如何实现.为了实现视频DRM(同时仍使用Apple的硬件加速的H264解码),我需要一种将解密的H264流馈送到标准iOS视频播放API中的方法. 根据此问题,在2010年9月无法实施第三方DRM.有一个 Apple开发者论坛中的线程无法解决.但是,到目前为止,存在许多第三方DRM库: Widevine ,我找到了两个线索.一种建议 ..
发布时间:2020-11-22 00:09:28 移动开发

H264视频的起始代码的用法

对于H264视频的起始代码(0x00 0x00 0x00 0x01)的用法,我有一个普遍的疑问.我不清楚此起始代码的用法,因为在RTP RFC中没有与H264视频相关的参考.但是我确实在网络中看到了很多参考,尤其是在stackoverflow中. 我很困惑,因为我看到一个客户端没有此起始代码,而另一个客户端正在使用此起始代码.因此,我正在寻找一个具体的答案,在哪里应该使用此起始代码,而在不应 ..
发布时间:2020-11-22 00:09:27 其他开发

H264 profile-iop解释

从配置文件中识别h264配置文件和级别sdp中的-level-id? 如何识别约束的实际含义? 例如,我有一个profile-type-id: 42801e可以翻译为: 如何将其与表在这里? 以上参考资料表明Constraint_set0_flag: 1表示它是受约束的基线配置文件.但是,如何将标志与()区分基准配置文件和约束基准配置文件的三个不同的否相关? 更新 无 ..
发布时间:2020-11-22 00:08:42 其他开发

MFT编码器(h264)高CPU使用率

我能够使用Media Foundation Transform(MFT)成功地通过H264编码数据,但是不幸的是我有一个非常高的CPU(当我在程序中注释该函数的调用时,我得到了一个低CPU).这是几个步骤跟着去获取编码,所以我无能为力吗?有什么主意可以帮忙 HRESULT MFTransform::EncodeSample(IMFSample *videosample, LONGLO ..
发布时间:2020-11-22 00:07:33 其他开发

H264 NAL单位前缀

我需要对H264 NAL单元分隔符前缀(00 00 00 01和00 00 01)进行一些说明,我正在使用Intel Media SDK生成H264并将其打包到RTP中.问题是,到目前为止,我只寻找00 00 00 01作为单位分隔符,并且基本上只能在比特流中找到AUD,SPS,PPS和SEI单位.看着内存,我看到在SEI之后有一个字节序列00 00 01 25可能是IDR单元的开始,但是由于缺少 ..
发布时间:2020-11-22 00:07:27 其他开发

h264 RTP时间戳

我对h264 RTP数据包的时间戳感到困惑.我知道视频的挂钟频率为90KHz,这是我在SIP SDP中定义的.我的编码器的帧速率不完全是30 FPS,它是可变的.实时变化范围从15 FPS到30 FPS.因此,我不能使用任何固定的时间戳. 任何人都可以告诉我以下编码数据包的时间戳. 在0毫秒后,已编码的RTP时间戳= 0(让开始时间戳为0) 经过50毫秒的编码RTP时间戳=? 40毫秒 ..
发布时间:2020-11-22 00:07:25 其他开发

从sdp中的profile-level-id识别h264配置文件和级别?

在SIP视频通话中,视频流的接收者以其解码器的功能进行响应. 定义为profile-level-id的参数.这是profile-level-id参数的示例值:428014 RFC 6184将其定义为 以下内容的base16 [7](十六进制)表示形式 在序列参数集NAL单元中指定了三个字节 在 1 中:1)profile_idc,2)在此引用的字节作为 profile-iop,由 ..
发布时间:2020-11-22 00:07:18 其他开发

如何在符合RFC3984的RTP中对H264数据包进行分段

我有FFMPEG流基准h264视频,我必须将其封装在RTP中并发送到SIP电话以对其进行解码.我在Windows和Mirial的h264插件中使用Linphone以获得解码进度.但是,有时我从FFMPEG中获得了巨大的帧大小(3Kb〜9Kb),这显然不适用于MTU. 如果我按原样发送这些帧并信任IP分段功能,则某些电话能够播放得很好,但是其他电话会阻塞并且无法解码流.我认为这是因为流不符合R ..
发布时间:2020-11-22 00:06:12 其他开发

AVSampleBufferDisplayLayer如何显示H.264

我想分享我几天来所积累的知识.没有很多可以找到的. 我仍然对声音不满.欢迎评论和提示. ;-) 解决方案 此处是我的代码段.声明 @property (nonatomic, retain) AVSampleBufferDisplayLayer *videoLayer; 首先设置视频层 self.videoLayer = [[AVSampleBufferDisplayL ..
发布时间:2020-11-22 00:05:01 移动开发

直接访问StageFright.so以从Android中的JNIlayer解码H.264流

在Android 2.3或更高版本上,是否可以直接访问libstagefright.so以便从JNI层解码H.264流? 解决方案 如果您的目标是解码基本H.264流,则您的代码将必须确保提取了该流,将codec-specific-data提供给向编解码器提供主要是SPS和PPS数据和帧数据以及时间戳的编解码器.在所有Android版本中,最常见的接口是OMXCodec,它是对基础OMX组 ..
发布时间:2020-11-22 00:04:57 其他开发

从H.264 NALU获取视频的宽度/高度

我已经在NALU(AVC解码器配置记录)中获得了SPS,并尝试从中解析视频的宽度/高度. 67 64 00 15 ac c8 60 20 09 6c 04 40 00 00 03 00 40 00 00 07 a3 c5 8b 67 80 这是我的代码解析SPS,但是得到了错误的值. pic_width_in_mbs_minus1为5,pic_height_in_map_units_m ..
发布时间:2020-11-22 00:03:50 其他开发

制作H264 RTP流的最小SDP?

我正在寻找建立H264视频流的最低必需SDP的示例.| 假设接收器只要通过SDP获得所需的参数就可以播放H264. 我在此处找到了一个相关文档,但是该示例在示例中使用了许多可选参数,而我正在寻找所需的最低要求. 解决方案 以下是裸机最低SDP.它是一个名为test.sdp的文件,具有以下内容: c=IN IP4 10.5.110.117 m=video 5004 RTP/ ..
发布时间:2020-11-22 00:03:44 其他开发

具有多个PPS和SPS的H264

我有一张卡,它直接在每个I帧之前按顺序生成带有SPS(序列参数集)和PPS(图像参数集)的H264流.我看到大多数H264流在第一个I帧中都包含PPS和SPS. 这是推荐的吗?解码器/复用器通常是否支持多个PPS和SRS? 解决方案 H.264具有多种流格式.一种变体称为“附件B". (AUD)(SPS)(PPS)(I-Slice)(PPS)(P-Slice)(PPS)(P-S ..
发布时间:2020-11-22 00:03:40 其他开发