如何获取h.2码流的码率和帧率

发布网友

我来回答

2个回答

懂视网

本篇文章主要为大家讲述的是关于HTML input标签的value属性的用法和value属性的值,还有关于input标签的value属性的相关联的值。下面就让我们一起来看看这篇文章吧

首先让我们看看HTML中的input标签的用法:

value属性是input元素规定值。

对于不同类型的input元素,value属性的用法也不同:

对于"button","reset","submit"类型-定义按钮上的文本

对于"text","password","hidden"类型-定义输入字段的初始(默认)值

对于"checkbox", "radio", "image" 类型-定义与input元素相关的值。该值会发送到表单的action URL。

注释:value属性对于<input type="checkbox">和<input type="radio">是必需的。

注释:value属性不适用于<input type="file">。

说了这么多,来看看实例:

带有value属性预定义值的表单:

<form action="demo_form.asp" method="get">
 请输入用户名: <input type="text" name="fname" value="Bill" /><br />
 第二次用户名: <input type="text" name="lname" value="Gates" /><br />
 <input type="submit" value="提交" />
</form>

效果如图所示:

tuyi.png

上图就是代码的结果,是定义的表单形式。

现在让我们来看看相关联的value值:

以输入框为例,每个框是不是可以输入内容?这个内容就是输入框关联的值,你给它设置个value属性,那么你设置的value就是它的值,会显示在输入框中。同样的,单选按钮也可以设置一个值,但是这个值不像输入框那样你设置了会显示出来,但是设置了就代表它就有了这么一个值,就好比标注它是男是女一样,是男是女未必看的出来,但是可以标注出来。

有时需要把一个input标签从一个位置调整到另一个位置,调整后input的值就是input标签中value属性的值,如果你修改值的方式并没有修改到value属性,那么调整后你设置的值就会丢失。

<form> 
<input id="input" type="input" value='2'></input> 
</form>

所以假如你有上述的操作,请一定确保你修改值的方式修改到了input的value属性,或者使用其他方式实现上述的操作,如jQuery的clone方法。

再来一个关于input标签的复选框做法:

<form action="demo-form.php">
 <input type="checkbox" name="vehicle[]" value="Bike">我会PHP<br>
 <input type="checkbox" name="vehicle[]" value="Car">我会html<br>
 <input type="checkbox" name="vehicle[]" value="Boat">我会python<br>
 <input type="submit" value="提交">
</form>

上代码效果如图:

tuer.png

好了,现在这篇文章结束了,有问题的小伙伴就在下方留言吧

【小编推荐】

HTML中的base标签如何写相对路径?(内附使用介绍)

HTML img标签的src属性的用法是什么?具体使用方法解析(内附实例)

热心网友

  如果是对一个码流文件计算码率,那么先解码得到总帧数,然后看文件有多大。这样,有了总比特数(即文件大小)、总帧数和帧率,就可以算码率了。

H.2码流中一般没有帧率,比特率信息到使可以得到,你参考吗流语法,
但是有的吗流有VUI信息,他里面有个标志 timing_info_present_flag 若等于1,则码流中有num_units_in_tick 和 time_scale。
framerate = time_scale/num_units_in_tick.

请问:h.2 的 framerate 应该怎样获取?
[i=s] 本帖最后由 explorer_djz 于 2009-2-24 10:38 PM 编辑 [/i]

h.2 的 framerate 应该怎样获取?需要用到哪些 NAL 单元来完成?

一个 seqence 中 framerate 允许变化吗?

实时播放器播放时,会用到 framerate ?如果不用,播放器通过什么来判断一秒钟播放多少帧?

firstime 发表于 2009-2-24 11:31 PM
1、你看看 2005 版标准的附录 D 和 E,那里面可能有帧率信息,我不确定;
2、一般来说一个应用的帧率是不需要发生变化的。当然可以允许变化;
3、视频文件中有一些额外的信息,通过这些信息播放器可以算出播放速度。这些信息是封装视频文件的时候按照相应的文件格式协议产生的。例如 3GPP 是按照 ISO_IEC_14496-12 封装而成的。

explorer_djz 发表于 2009-3-3 08:51 PM
谢谢版主!我在附录E 中确实找到了能算帧率的。如下:(中文版标准P320)
VUI 信息中有个标志 timing_info_present_flag 若等于1,则码流中有num_units_in_tick 和 time_scale。
framerate = time_scale/num_units_in_tick.
还有2个问题:
1. VUI信息是可选项,若只有一段 ES 流,且没有VUI信息,那是不是就没法得到帧率信息了?在复用时就只能猜了吗?
2. 还是没有 VUI 信息的 ES 流,elecard streameye 分析后,framerate declared=0, 而 real = (var) 25.16,streameye 是怎么得到 real framerate 的?

firstime 发表于 2009-3-3 09:05 PM
1、没有 VUI,就没有帧率信息。既然是你在做复用,那么你一定知道帧率;
2、ES 没有帧率信息,直接按正常速度显示就可以了。

explorer_djz 发表于 2009-3-7 08:44 PM
哦,差不多明白了。
谢谢楼上各位

对于帧历时(帧率)总结如下:
1. 有VUI的话,可以解析此字段得到帧率(从而得到帧历时),这个得到的是平均帧率
2.无VUI,那么帧历时可以从封装容器的时间标签得到(比如TS流的PTS)转载仅供参考,版权属于原作者

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com