ffmpeg 添加 sps pps

ffmpeg 添加 sps pps,第1张

分离某些封装格式(例如MP4/FLV/MKV等)中的H.264的时候,需要首先写入SPS和PPS,否则会导致分离出来的数据没有SPS、PPS而无法播放。H.264码流的SPS和PPS信息存储在AVCodecContext结构体的extradata中。需要使用ffmpeg中名称为“h264_mp4toannexb”的bitstream filter处理。

原有的API已被弃用,新的API如下:

Query

Setup

Usage

Cleanup

ps: FFmpeg给出的例子中并未while循环调用av_bsf_receive_packet,也未对其flush。

https://blogs.gentoo.org/lu_zero/2016/03/21/bitstream-filtering/

在 H.264 流中,有两种 NALU 极其重要

一般情况 SPS 和 PPS 的 NAL Unit 通常位于整个码流的起始位置。

封装文件一般进保存一次,位于文件头部, SPS/PPS 在整个解码过程中复用,不发生变化。

然而对于实时流,通常是从流中间开始解码,因此需要在每个 I帧 前添加 SPS 和 PPS ;

如果编码器在编码过程中改变了码流参数(如分辨率),需要重新调整 SPS 和 PPS 数据。

NAL ( Network Abstract Layer ),即网络抽象层

在 H.264/AVC 视频编码标准中,整个系统框架被分为了两个层面:

视频编码层往往与网络抽象层(NAL)相互配合,标准的 NAL-unit 总共规范( Profile )有12种,这12种型式可粗分成 VCL NAL-unit 及 non-VCL NAL-unit ,其中 VCL NAL-unit 是指 NAL-unit 中存放的完全是VCL的影像资料。

现实中的传输系统是多样化的,其可靠性,服务质量,封装方式等特征各不相同,NAL这一概念的提出提供了一个视频编码器和传输系统的友好接口,使得编码后的视频数据能够有效的在各种不同的网络环境中传输。

直接把你喜欢的电影的打开方式设定为PPS就行了.

具体就是,鼠标右键点击你喜欢的电影的视屏,然后点 属性 ,然后把里面的打开方式设置为PPS (在 “更多打开方式”里面找PPS打开方式),然后以后每次你打开这个动画的时候,它就是以PPS的形式播放了。

其实还有更简单的,就是最新版本的PPS已经添加了这个功能,它在左上角“点播”“直播”后面又新增加了一个按钮“影音”,这个里面就包含了你电脑上面存的所有电影,视频。很方便~

希望能帮到你哈


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11447891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存