当前位置: 首页 > 知识库问答 >
问题:

查找帧速率SPS

甄胡非
2023-03-14

我一直在看几个帖子(http://tinyurl.com/nqtfh9a...)和PPS的链接(http://www.cardinalpeak.com/blog/the-h-264-sequence-parameter-set/),但不能真正理解这个概念。

我买了一个带有SDK的编码器。在规格中,它给了我SPS和PPS,我想知道这里是否有帧速率信息:

Found NAL at offset 4 (0x0004), size 10 (0x000A) 
XX 00 00 00 01 67 42 00 1E 9A 74 05 81 EC 80 
==================== NAL ====================
 forbidden_zero_bit : 0 
 nal_ref_idc : 3 
 nal_unit_type : 7 ( Sequence parameter set ) 
======= SPS =======
 profile_idc : 66 
 constraint_set0_flag : 0 
 constraint_set1_flag : 0 
 constraint_set2_flag : 0 
 constraint_set3_flag : 0 
 constraint_set4_flag : 0 
 constraint_set5_flag : 0 
 reserved_zero_2bits : 0 
 level_idc : 30 
 seq_parameter_set_id : 0 
 chroma_format_idc : 1 
 residual_colour_transform_flag : 0 
 bit_depth_luma_minus8 : 0 
 bit_depth_chroma_minus8 : 0 
 qpprime_y_zero_transform_bypass_flag : 0 
 seq_scaling_matrix_present_flag : 0 
 log2_max_frame_num_minus4 : 5 
 pic_order_cnt_type : 0 
   log2_max_pic_order_cnt_lsb_minus4 : 6 
   delta_pic_order_always_zero_flag : 0 
   offset_for_non_ref_pic : 0 
   offset_for_top_to_bottom_field : 0 
   num_ref_frames_in_pic_order_cnt_cycle : 0 
 num_ref_frames : 1 
 gaps_in_frame_num_value_allowed_flag : 0 
 pic_width_in_mbs_minus1 : 43 
 pic_height_in_map_units_minus1 : 29 
 frame_mbs_only_flag : 1 
 mb_adaptive_frame_field_flag : 0 
 direct_8x8_inference_flag : 1 
 frame_cropping_flag : 0 
   frame_crop_left_offset : 0 
   frame_crop_right_offset : 0 
   frame_crop_top_offset : 0 
   frame_crop_bottom_offset : 0 
 vui_parameters_present_flag : 0 
=== VUI ===
 aspect_ratio_info_present_flag : 0 
   aspect_ratio_idc : 0 
     sar_width : 0 
     sar_height : 0 
 overscan_info_present_flag : 0 
   overscan_appropriate_flag : 0 
 video_signal_type_present_flag : 0 
   video_format : 0 
   video_full_range_flag : 0 
   colour_description_present_flag : 0 
     colour_primaries : 0 
   transfer_characteristics : 0 
   matrix_coefficients : 0 
 chroma_loc_info_present_flag : 0 
   chroma_sample_loc_type_top_field : 0 
   chroma_sample_loc_type_bottom_field : 0 
 timing_info_present_flag : 0 
   num_units_in_tick : 0 
   time_scale : 0 
   fixed_frame_rate_flag : 0 
 nal_hrd_parameters_present_flag : 0 
 vcl_hrd_parameters_present_flag : 0 
   low_delay_hrd_flag : 0 
 pic_struct_present_flag : 0 
 bitstream_restriction_flag : 0 
   motion_vectors_over_pic_boundaries_flag : 0 
   max_bytes_per_pic_denom : 0 
   max_bits_per_mb_denom : 0 
   log2_max_mv_length_horizontal : 0 
   log2_max_mv_length_vertical : 0 
   num_reorder_frames : 0 
   max_dec_frame_buffering : 0 
=== HRD ===
 cpb_cnt_minus1 : 0 
 bit_rate_scale : 0 
 cpb_size_scale : 0 
   bit_rate_value_minus1[0] : 0 
   cpb_size_value_minus1[0] : 0 
   cbr_flag[0] : 0 
 initial_cpb_removal_delay_length_minus1 : 0 
 cpb_removal_delay_length_minus1 : 0 
 dpb_output_delay_length_minus1 : 0 
 time_offset_length : 0 

我试着从这些信息中获得SPS,但我无法获得相同的信息。谢谢和亲切的问候

共有1个答案

卢锋
2023-03-14

它可以在SPS中传达,但不是强制性的。它在:

SPS->VUI参数->时序信息

如果vui_prameters_present_flag为1,而timing_info_present_flag为1,那么您需要的两个字段是:'num_units_in_tick'和'time_scale'。您的第二个链接中的示例包含此信息。

如果您使用的是基于场的视频,那么这将是一个场速率,所以您将不得不减半以获得一个帧速率。

 类似资料:
  • 问题内容: 我将其发布为相关主题下的评论。但是,它们似乎没有引起注意== 我用过 分成存储为文件的帧。似乎行得通,只是不太行。录制视频时,我的录制速率为,而视频却很长。如果我的数学正确,则整个视频总共应为 149,000帧 。可是我跑的时候 我只获得了4472个文件。如何获得原始的149k帧? 我还尝试通过执行以下操作将原始AVI的帧频转换为1000fps 但这似乎并没有解决我的问题。 问题答案:

  • 我试图通过相机的PreviewCall back(onPreviewFrame)使用MediaCodec对每秒30帧的视频进行编码。我编码的视频总是播放得很快(这是不希望的)。所以,我试图通过设置一个int frameCount变量来检查进入相机预览的帧数以记住它的计数。我期望的是每秒30帧,因为我将相机的预览设置为30 fps预览(如下所示)。我得到的结果是不一样的。我调用了onPreviewF

  • 10. 查询主播流丢帧率 10.1. 功能 根据流名称查询主播推流的丢帧率,用于监控 10.2. 地址 http://api.bokecs.com/liveService/{domain}/{appname}/{streamname}/{page}/{rows}/{time}/{sign}/failRate 10.3. 请求参数 domain 客户加速域名,必填 appname App名称,如果查

  • 因此,在回答我的问题(如何连续移动图像平滑Pyplay?)我被告知设置我的帧率,以便做我的动画。但是不管我把它放在哪里,什么都不做。我做BTW。那么我该怎么做呢?我已经研究并发现了这一点(pyplayclock.tick()vs在游戏主循环中的帧率),但我并不真正理解这一点。 我的主要游戏功能; 这是我的主要游戏循环; 主游戏循环不会设置帧速率,因为主游戏函数中有一个循环。这只是一个循环,因为当我

  • 主要内容:UnionFind1.java 文件代码:本小节基于上一小节并查集的结构介绍基础操作,查询和合并和判断是否连接。 查询元素所在的集合编号,直接返回 id 数组值,O(1) 的时间复杂度。 ... private int find ( int p ) {     assert p >= 0 && p < count ;     return id [p ] ; } ... 合并元素 p 和元素 q 所属的集合, 合并过程需要遍历一遍所有元素

  • 我正在尝试提取几个视频上的所有帧。这些视频是在以可变帧速率保存输出的摄像机上拍摄的,因此,一些帧在时间上比其他帧更接近(根据mediainfo,每秒27到30帧) 这些帧将与一些元数据同步,因此我不仅需要提取它们,还需要保留视频每帧拍摄的[相对]时间信息。 我一直在使用ffmpeg来提取视频帧,当视频帧速率不再恒定时,挑战就来了。任何其他不同于ffmpeg的方法或程序都可以完成任务。