【发布时间】:2019-08-19 22:31:45
【问题描述】:
我正在尝试制作视频流服务器并直接从网络浏览器观看视频。这个想法是让服务器从远程服务器流式传输视频,在本地服务器上用不同的音频格式转码,然后立即流式传输到客户端(这是我需要它运行的特定方式)。 这是我当前使用的 FFMPEG 代码:
ffmpeg -i "url" -c:v copy -c:a aac -ac 2 -f hls -hls_time 60 -hls_playlist_type event -hls_flags independent_segments out.m3u8
HLS 流通过 hls.js 附加到 HTML 播放器,并且可以正常工作。但是,视频持续时间在视频被转码时不断变化。我曾尝试使用 $('video').duration = 120; 这样的 JS 更改视频持续时间,但没有成功。
如何让播放器显示视频文件持续时间而不是流当前转码时间?
我也计划实施视频搜索,但我一无所知。目前的思路是向服务器发送搜索时间,终止ffmpeg,从特定时间开始。但是,我认为播放器可能会在加载时卡住,如果不重新加载就无法开始播放。
【问题讨论】:
-
您找到解决方案了吗?在这一点上,我想我可能必须构建自己的视频控件。
标签: html video ffmpeg http-live-streaming hls.js