xiaonanko

xiaonanko

0个粉丝

33

问答

0

专栏

0

资料

xiaonanko  发布于  2016-06-08 16:43:21
采纳率 0%
33个问答
7227

HEVC编码器输出码流格式不是标准格式

 
本帖最后由 xiaonanko 于 2016-6-8 16:49 编辑

我的平台是3516A 我用一个码流侦查的工具打开一个我自己编出的码流视频和从网上下载的裸流视频
标准码流视频如下图所示:
问题一:发现网上的码流格式是IPB帧交错进行,但是我自己编码出的码流格式只有IP帧且,每一个I帧开头都是有VPS 等信息~查看文档中发现3516A的B帧个数属性标注保留选项,是不是意味着3516A不支持B帧~~
问题二:在做ES码流封装成TS的第一步,将ES封装成PES流,需要在头部添加PTS和DTS时间戳,这部分时间戳是自己设置还是通过编码器的时间戳获得~请教一下各位!谢谢大家了~
新手,毕业项目!真心求教各位前辈!谢谢大家


我来回答
回答7个
时间排序
认可量排序

rafael_wl

1个粉丝

12

问答

0

专栏

7

资料

rafael_wl 2016-06-08 20:43:19
认可0
问题1 ,的确是没有B帧的,有I和P帧够用
问题2, 取系统时间做时间戳,或者用海思的时间戳

xiaonanko

0个粉丝

33

问答

0

专栏

0

资料

xiaonanko 2016-06-08 21:27:03
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31367&ptid=11554]rafael_wl 发表于 2016-6-8 20:43[/url]
问题1 ,的确是没有B帧的,有I和P帧够用
问题2, 取系统时间做时间戳,或者用海思的时间戳[/quote]

B帧的压缩率很高~3516A无法设置B帧嘛~
(2)取时间戳的PTS和dts分别设置多少呢~海思的时间戳只有PTS没有DTS

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-08 23:00:10
认可0
本帖最后由 ngswfx 于 2016-6-8 23:23 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=31370&ptid=11554]xiaonanko 发表于 2016-6-8 21:27[/url]
B帧的压缩率很高~3516A无法设置B帧嘛~
(2)取时间戳的PTS和dts分别设置多少呢~海思的时间戳只有PTS没有 ...[/quote]

编码里面的时间戳都是相对的,你随便设置一个值,然后根据帧率累加就可以了。具体我也没看,要是我来弄,我就每帧加40ms或者33ms。如果用那个90000和时钟来计算,你先找个和DTS有关的范例,按照30fps或者25fps随便弄个值先用着。我网上搜索了DTS定义,是解码时间戳,这意味着你只要控制好1秒钟25个改变或者30个改变即可。你需要确定海斯出来的编码数据流是不是每秒钟25个包。如果是,只需要简单累加就能用。如果出来的数据包非常多,就需要好几个包用相同的DTS。而且你做TS转换的时候,拆分为更小的包了,好像是188字节。所以大量的包,都是一个DTS才对。

我也没搞过TS,找了个源码看了一下,这是家用或者DVD相关的东西,电影片源用这些,我这边用暂时用不上,没有细研究。网上分析说,265做法和264很相似。本论坛上有个264转TS的源码,是基于文件的,我测试了一下,可以编译,能转换,你下载下去,移植一下,封装为按照帧转换的就很实用了。它用的ES文件就是标准264文件。这样就可以实现IPC直接出TS流了。

如果想精确些,把PTS弄来对比一下。

不要纠结这些具体参数,全部调通才重要,流程调通后,生成的TS文件能播放了,再来看具体效果,是不是卡,是不是快了或者慢了,根据效果,随后再来调整这些参数。


///////////////我们现在搞的这些东西,其实不是理论,是定义,是说明书。仅仅是一个约定而已。约定可以随便改。工作中99%干的工作都是搞这些说明书,约定。这就是拿着代码砖头按照说明书盖房子。所以千万别纠结一个点。

//////////////真正的编程是逻辑,是创新。

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-10 01:03:46
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31370&ptid=11554]xiaonanko 发表于 2016-6-8 21:27[/url]
B帧的压缩率很高~3516A无法设置B帧嘛~
(2)取时间戳的PTS和dts分别设置多少呢~海思的时间戳只有PTS没有 ...[/quote]



这个是在windows里面别人封装好的es转ts,视频部分有例子,我没细看,音频部分不知道是否支持。

简单修改一下,应该可以在arm上使用了。

主要是这个库:libTsMux

3wnae

0个粉丝

9

问答

0

专栏

0

资料

3wnae 2016-06-11 15:46:16
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31409&ptid=11554]ngswfx 发表于 2016-6-10 01:03[/url]
这个是在windows里面别人封装好的es转ts,视频部分有例子,我没细看,音频部分不知道是否支持。

...[/quote]

好给力。一点多还在看这个论坛

xiaonanko

0个粉丝

33

问答

0

专栏

0

资料

xiaonanko 2016-06-12 11:24:53
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31409&ptid=11554]ngswfx 发表于 2016-6-10 01:03[/url]
这个是在windows里面别人封装好的es转ts,视频部分有例子,我没细看,音频部分不知道是否支持。

...[/quote]

谢谢~麻烦你了~

hiuser

0个粉丝

8

问答

0

专栏

1

资料

hiuser 2016-09-22 18:18:34
认可0
编码ES出来有时间戳直接用,没有B帧。PTS=DTS
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区