一步一步解析H.264码流的NALU(SPS,PSS,IDR)获取宽高和帧率
| Parameter Name | Type | Value | Comments |
| forbidden_zero_bit | u(1) | 0 | Despite being forbidden, it must be set to 0! |
| nal_ref_idc | u(2) | 3 | 3 means it is “important” (this is an SPS) |
| nal_unit_type | u(5) | 7 | Indicates this is a sequence parameter set |
| profile_idc | u(8) | 66 | Baseline profile |
| constraint_set0_flag | u(1) | 0 | We’re not going to honor constraints |
| constraint_set1_flag | u(1) | 0 | We’re not going to honor constraints |
| constraint_set2_flag | u(1) | 0 | We’re not going to honor constraints |
| constraint_set3_flag | u(1) | 0 | We’re not going to honor constraints |
| reserved_zero_4bits | u(4) | 0 | Better set them to zero |
| level_idc | u(8) | 10 | Level 1, sec A.3.1 |
| seq_parameter_set_id | ue(v) | 0 | We’ll just use id 0. |
| log2_max_frame_num_minus4 | ue(v) | 0 | Let’s have as few frame numbers as possible |
| pic_order_cnt_type | ue(v) | 0 | Keep things simple |
| log2_max_pic_order_cnt_lsb_minus4 | ue(v) | 0 | Fewer is better. |
| num_ref_frames | ue(v) | 0 | We will only send I slices |
| gaps_in_frame_num_value_allowed_flag | u(1) | 0 | We will have no gaps |
| pic_width_in_mbs_minus_1 | ue(v) | 7 | SQCIF is 8 macroblocks wide |
| pic_height_in_map_units_minus_1 | ue(v) | 5 | SQCIF is 6 macroblocks high |
| frame_mbs_only_flag | u(1) | 1 | We will not to field/frame encoding |
| direct_8x8_inference_flag | u(1) | 0 | Used for B slices. We will not send B slices |
| frame_cropping_flag | u(1) | 0 | We will not do frame cropping |
| vui_prameters_present_flag | u(1) | 0 | We will not send VUI data |
| rbsp_stop_one_bit | u(1) | 1 | Stop bit. I missed this at first and it caused me much trouble. |
skip_bits(&h->gb, 2);跳过两个位,表现为GetBitContext.index后移两个位置。
- 当前SPS的帧的宽 = (sps_info.pic_width_in_mbs_minus1 + 1) * 16
- 当前SPS的帧的高 = (sps_info.pic_height_in_map_units_minus1 + 1) * 16
extract the h.264 NAL units from the file using ffmpeg:
ffmpeg.exe -i Old Faithful.mp4 -vcodec copy -vbsf h264_mp4toannexb -an of.h264
fps=time_scale/(2*num_units_in_tick);
30/(2*1)=15fps 
一步一步解析H.264码流的NALU(SPS,PSS,IDR)获取宽高和帧率的更多相关文章
- H.264码流结构解析
from:http://wenku.baidu.com/link?url=hYQHJcAWUIS-8C7nSBbf-8lGagYGXKb5msVwQKWyXFAcPLU5gR4BKOVLrFOw4bX ...
- 使用FFMPEG类库分离出多媒体文件中的H.264码流
在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的视频数据码流.只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可. 经试验,在分离MP ...
- (转)使用FFMPEG类库分离出多媒体文件中的H.264码流
出自:http://blog.csdn.net/leixiaohua1020/article/details/11800877 在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的 ...
- (转载)H.264码流的RTP封包说明
H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) ...
- h.264码流解析_一个SPS的nalu及获取视频的分辨率
00 00 00 01 67 42 00 28 E9 00 A0 0B 77 FE 00 02 00 03 C4 80 00 00 03 00 80 00 00 1A 4D 88 10 94 0 ...
- 【视频编解码·学习笔记】6. H.264码流分析工程创建
一.准备工作: 新建一个VS工程SimpleH264Analyzer, 修改工程属性参数-> 输出目录:$(SolutionDir)bin\$(Configuration)\,工作目录:$(So ...
- 海思3518EV200 SDK中获取和保存H.264码流详解
/****************************************** step 2: Start to get streams of each channel. ********** ...
- RTP协议全解析(H264码流和PS流)
转自:http://blog.csdn.net/chen495810242/article/details/39207305 写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个 ...
- RTP协议全解析(H264码流和PS流)(转)
源: RTP协议全解析(H264码流和PS流)
随机推荐
- 怎样用bat批量重命名文件夹和文件
很早以前本人写过重命名文件夹的文章,发现其中稍有不完善的地方,其主要功能在文件夹名前统一加上字符,或者在文件夹名后统一加上字符,有网友反应功能太单一.今天我又仔细研究了一下bat批处理代码,分别能完全 ...
- javascript快速入门20--Cookie
Cookie 基础知识 我们已经知道,在 document 对象中有一个 cookie 属性.但是 Cookie 又是什么?“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称 ...
- Technique Standard
http://blog.csdn.net/cnjet/article/details/73433903 jinyaping
- linux基础教程---设置文件的主人、组别
我们在操作linux的是要告诉文件是属于哪个主人的,哪个组别的.这样我们就须要知道该怎样设置": 设置文件的主人.组别 chown: change owner >chown 主人 ...
- 「六」创建一个带 weblogic 服务的基础镜像
Weblogic Weblogic 简单介绍以及其在 Docker 环境下的特殊应用 WebLogic是美国Oracle公司出品的一个application server确切的说是一个基于JAVAEE ...
- css - 小程序样式
/* * @Author: WJ_LONG * @Date: 2018-09-15 17:25:37 * @Last Modified by: WJ_LONG * @Last Modified tim ...
- css - margin-padding
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
http://www.jb51.net/article/38473.htm 首先启动命令行 1.在命令行运行:taskkill /f /im mysqld-nt.exe 下面的操作是操作mysql中b ...
- 简易推荐引擎的python实现
代码地址如下:http://www.demodashi.com/demo/12913.html 主要思路 使用协同过滤的思路,从当前指定的用户过去的行为和其他用户的过去行为的相似度进行相似度评分,然后 ...
- css3组件实战--绚丽效果篇
代码地址如下:http://www.demodashi.com/demo/11656.html 一.3D风景动态骰子 在线演示 1.css3D.动画基础知识预备 2.创建一个3D场景 先放置一个.bo ...