h.264相关内容
我正在使用Microsoft Media Foundation编码H.264视频文件. 我正在使用SinkWriter创建视频文件.输入是缓冲区(MFVideoFormat_RGB32),在其中绘制帧,而输出是MFVideoFormat_H264. 编码有效,并创建了一个包含我的帧的视频文件.但我想为该视频文件设置质量.更具体地说,我要设置 CODECAPI_AVEncCommonQu
..
当前,我正在使用libav *编码H.264视频.我想将KLVPackets添加到比特流,但不知道在哪里实现. avcodec中有一个结构,但是我不确定如何将其写到帧元数据中 typedef struct { UID key; int64_t offset; uint64_t length; } KLVPacket; 当前FFMPEG代码(仅左侧相关代码):
..
我有一个解决方案,其中我使用Media Foundation的h264编码器对来自网络摄像头的视频(YUY2)样本进行编码.然后,我通过TCP连接将其发送到另一个应用程序,该应用程序使用Media Foundation的h264解码器将流解码回YUY2格式.解码后,使用DirectX在屏幕上显示视频样本/图像. 问题在于,在关键帧之间,视频图像会出现越来越多的伪像.收到关键帧后,伪像就会消失
..
我从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
..
是否可以从Axis摄像机通过RTSP发送的H.264流中读取绝对时间戳? 有必要知道相机何时拍摄了镜框. 谢谢 安德里亚 正如Ralf所说的 解决方案 -RTP时间戳相对于随机时钟-它们仅用于计算两个帧之间的差异(或通常来说是RTP数据包) ).要将这些相对值同步到墙上时钟,可以使用RTCP发送器-只需看看Ralf提供的链接即可. 对于使用H.264的Axis产品,此方法效
..
我目前正在尝试将Android用作Skype端点.在此阶段,我需要将视频编码为H.264(因为它是Skype支持的唯一格式),然后将其与RTP封装在一起,以使流传输正常工作. 显然,出于各种原因,MediaRecorder不太适合此操作.一种是因为它在完成后添加了MP4或3GP标头.另一个原因是,为了将等待时间降至最低,硬件加速可能会派上用场.这就是为什么我想利用最近对框架进行的低级添加,例
..
我正在寻找在iOS视频播放器中实现DRM的方法,但是我不确定如何实现.为了实现视频DRM(同时仍使用Apple的硬件加速的H264解码),我需要一种将解密的H264流馈送到标准iOS视频播放API中的方法. 根据此问题,在2010年9月无法实施第三方DRM.有一个 Apple开发者论坛中的线程无法解决.但是,到目前为止,存在许多第三方DRM库: Widevine ,我找到了两个线索.一种建议
..
对于H264视频的起始代码(0x00 0x00 0x00 0x01)的用法,我有一个普遍的疑问.我不清楚此起始代码的用法,因为在RTP RFC中没有与H264视频相关的参考.但是我确实在网络中看到了很多参考,尤其是在stackoverflow中. 我很困惑,因为我看到一个客户端没有此起始代码,而另一个客户端正在使用此起始代码.因此,我正在寻找一个具体的答案,在哪里应该使用此起始代码,而在不应
..
从配置文件中识别h264配置文件和级别sdp中的-level-id? 如何识别约束的实际含义? 例如,我有一个profile-type-id: 42801e可以翻译为: 如何将其与表在这里? 以上参考资料表明Constraint_set0_flag: 1表示它是受约束的基线配置文件.但是,如何将标志与()区分基准配置文件和约束基准配置文件的三个不同的否相关? 更新 无
..
我能够使用Media Foundation Transform(MFT)成功地通过H264编码数据,但是不幸的是我有一个非常高的CPU(当我在程序中注释该函数的调用时,我得到了一个低CPU).这是几个步骤跟着去获取编码,所以我无能为力吗?有什么主意可以帮忙 HRESULT MFTransform::EncodeSample(IMFSample *videosample, LONGLO
..
我正在尝试理解SDP中的什么参数,以便能够从RTP数据包中解码H264. 这与此问题有关,因为该答案仅在少数情况下有效. /p> 示例 我正在使用以下命令从VLC流式传输. vlc -vvv sample_video/big_buck_bunny_480p_h264.mov --sout '#transcode{vcodec=h264,vb=700,fps=20,scale=0
..
我需要对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单元的开始,但是由于缺少
..
我对h264 RTP数据包的时间戳感到困惑.我知道视频的挂钟频率为90KHz,这是我在SIP SDP中定义的.我的编码器的帧速率不完全是30 FPS,它是可变的.实时变化范围从15 FPS到30 FPS.因此,我不能使用任何固定的时间戳. 任何人都可以告诉我以下编码数据包的时间戳. 在0毫秒后,已编码的RTP时间戳= 0(让开始时间戳为0) 经过50毫秒的编码RTP时间戳=? 40毫秒
..
在SIP视频通话中,视频流的接收者以其解码器的功能进行响应. 定义为profile-level-id的参数.这是profile-level-id参数的示例值:428014 RFC 6184将其定义为 以下内容的base16 [7](十六进制)表示形式 在序列参数集NAL单元中指定了三个字节 在 1 中:1)profile_idc,2)在此引用的字节作为 profile-iop,由
..
我有FFMPEG流基准h264视频,我必须将其封装在RTP中并发送到SIP电话以对其进行解码.我在Windows和Mirial的h264插件中使用Linphone以获得解码进度.但是,有时我从FFMPEG中获得了巨大的帧大小(3Kb〜9Kb),这显然不适用于MTU. 如果我按原样发送这些帧并信任IP分段功能,则某些电话能够播放得很好,但是其他电话会阻塞并且无法解码流.我认为这是因为流不符合R
..
我想分享我几天来所积累的知识.没有很多可以找到的. 我仍然对声音不满.欢迎评论和提示. ;-) 解决方案 此处是我的代码段.声明 @property (nonatomic, retain) AVSampleBufferDisplayLayer *videoLayer; 首先设置视频层 self.videoLayer = [[AVSampleBufferDisplayL
..
在Android 2.3或更高版本上,是否可以直接访问libstagefright.so以便从JNI层解码H.264流? 解决方案 如果您的目标是解码基本H.264流,则您的代码将必须确保提取了该流,将codec-specific-data提供给向编解码器提供主要是SPS和PPS数据和帧数据以及时间戳的编解码器.在所有Android版本中,最常见的接口是OMXCodec,它是对基础OMX组
..
我已经在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
..
我正在寻找建立H264视频流的最低必需SDP的示例.| 假设接收器只要通过SDP获得所需的参数就可以播放H264. 我在此处找到了一个相关文档,但是该示例在示例中使用了许多可选参数,而我正在寻找所需的最低要求. 解决方案 以下是裸机最低SDP.它是一个名为test.sdp的文件,具有以下内容: c=IN IP4 10.5.110.117 m=video 5004 RTP/
..
我有一张卡,它直接在每个I帧之前按顺序生成带有SPS(序列参数集)和PPS(图像参数集)的H264流.我看到大多数H264流在第一个I帧中都包含PPS和SPS. 这是推荐的吗?解码器/复用器通常是否支持多个PPS和SRS? 解决方案 H.264具有多种流格式.一种变体称为“附件B". (AUD)(SPS)(PPS)(I-Slice)(PPS)(P-Slice)(PPS)(P-S
..