4

我目前正在使用 libtheoradec,但我找不到一种简单的方法来找出 ogg theora 文件的播放时间。libtheoradec 发行版中有几个示例,但没有一个显示如何获取 theora 流的长度(即播放时间以秒左右为单位)。此信息是否在标题中的某处不可用?我真的必须通读所有页面并从最后一个数据包的颗粒位置获取长度吗?这真的是唯一的方法吗?感谢帮助!

4

2 回答 2

1

是的,信息不在 Theora 标头中,您需要从最后一个数据包的 granulepos 中获取信息。

为此,我在 liboggz 的chop-rewrite 分支中有一些代码。该函数oggz_get_duration()以秒为单位返回一个值,并被 oggz-chop 用于提供 Content-Duration HTTP 响应标头: https ://github.com/kfish/liboggz/blob/chop-rewrite/src/liboggz/oggz_seek.c

于 2011-08-30T02:57:53.367 回答
0

抱歉,在问我的问题之前我没有看到您的问题:有没有办法在 .ogg 视频完全加载之前告诉它的文件大小?

我很惊讶以前没有人回答,因为这似乎是一个很好的问题,因为由于 HTML5,ogg 视频得到了更多的使用。

于 2011-03-17T13:07:40.757 回答