首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android浏览器中,HLS流总是从一开始就开始的。

在Android浏览器中,HLS流总是从一开始就开始的。
EN

Stack Overflow用户
提问于 2015-08-13 20:00:15
回答 1查看 1.5K关注 0票数 0

问题

HLS流在iOS浏览器(实时中间流)中运行良好,

但是在大多数Android浏览器中,流总是从一开始就开始(流开始时的第一个Ts文件)。

参考文献

  • Android系统:4.0,4.4,等等
  • FFmpeg命令的详细信息:拉出RTMP流,然后使用段将其传输到TS拆分中。 ffmpeg -re -i rtmp://ipaddress/live/streamname -codec:a libfaac -b:a 96k -af volume=1 -ac 2 -ar 44100 -f segment -segment_time 5 -segment_list_flags live -segment_list /path/to/m3u8 -segment_format mpegts /path/to/ts
  • m3u8文件的详细信息 #EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:NO #EXT-X-TARGETDURATION:6 #EXTINF:5.000278, file0000.ts #EXTINF:5.013356, file0001.ts4
  • HLS播放器:Ckplayer+ m3u8插件

帮助

还有人遇到这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-19 18:02:07

正如Aergistal在评论中所说的那样。最新的ffmpeg直接支持hls。所以,只需使用-f hls而不是-f segment。然后问题解决了。

  1. 如果我们使用-f segment
代码语言:javascript
运行
复制
- The value of `#EXT-X-MEDIA-SEQUENCE` will always be `0`.
- Previous TS records would not be removed when latest records are added.
- Maybe there are some parameters that I didn't know.

因此Android设备总是从第一个TS文件开始。

  1. 如果我们使用-f hls
代码语言:javascript
运行
复制
- We can use `-hls_list_size` to define the number of TS files in m3u8 file.
- The value of `#EXT-X-MEDIA-SEQUENCE` will update automatically.

然后效果很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31997356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档