ビデオ ストリーミング サーバーを作成し、Web ブラウザから直接ビデオを見ようとしています。アイデアは、サーバーがリモートサーバーからビデオをストリーミングし、ローカルサーバーで異なるオーディオ形式でトランスコードし、すぐにクライアントにストリーミングするようにすることです(これが機能するために必要な特定の方法です)。これは、現在使用している 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 を終了し、特定の時間から開始することです。ただし、プレイヤーがロード中にスタックし、リロードしないとプレイを開始できない可能性があると思います。