2017-04-06 6 views
0

をライブストリーミングmp4ファイルからライブストリームを作成するために、私はこのコードを使用:とHLSのために良い品質を持っているが

ffmpeg -re -i input.mp4 
-c:a aac -c:v libx264 -s uhd2160 -f hls -hls_list_size 0 2160p/out.m3u8 
-c:a aac -c:v libx264 -s 2560x1440 -f hls -hls_list_size 0 1440p/out.m3u8 
-c:a aac -c:v libx264 -s hd1080 -f hls -hls_list_size 0 1080p/out.m3u8 
-c:a aac -c:v libx264 -s hd720 -f hls -hls_list_size 0 720p/out.m3u8 
-c:a aac -c:v libx264 -s hd480 -f hls -hls_list_size 0 480p/out.m3u8 
-c:a aac -c:v libx264 -s nhd -f hls -hls_list_size 0 360p/out.m3u8 
-c:a aac -c:v libx264 -s cga -f hls -hls_list_size 0 200p/out.m3u8 

が、ストリーミング時に、非常に待ち時間があります。
ライブストリーミングに使用したビデオ(4k)のように、非常に高画質のストリーミングビデオにはこの待ち時間があります。
どうすればいいですかこの遅延を減らすそのためにメモリ使用量を減らす

+0

リアルタイムアプローチのHLSは良い解決策ではありません。私のテストでは毎回少なくとも5秒の遅れがあります。 – Hokusai

+0

@北斎、あなたのお勧めを教えてもらえますか? – parsa

+1

[tee muxer](http://ffmpeg.org/ffmpeg-formats.html#tee)を使用すると、同じストリームを個別にエンコードするのではなく、すべての出力に対してオーディオを1回だけエンコードすることで、エンコードをいくらか効率的にすることができます回。 – LordNeckbeard

答えて

0
低遅延を作る方法

とHLSは、あなたがすることはできません

をライブストリーミングのために良い品質を持っています。

HLSは非常に本質的にセグメント化されています...そしてそれは比較的大きなセグメントです。削減しようとするほどオーバーヘッドが大きくなります。それでも、7秒または8秒以下になることは非常に困難です。

WebRTCなどのレイテンシの低い技術に切り替えることはできますが、品質のトレードオフがあります。レイテンシが低いため、コーデックは、品質よりもレイテンシが良いように最適化されています。品質には問題があります。私は「良質」があなたに何であるかはわかりませんが、実際にあなたのアプリケーションであなたにとって重要なことを決める必要があります。

レイテンシが低く、高品質で、互換性が高く、スケーリングが容易なマジックビデオ技術はありません。それは単にそのようには機能しません。それを与え、あなたにとって本当に重要なことを考え、シナリオに適切なトレードオフを選び、適切な技術を考える上で助けが必要な場合は新しい質問をしてください。

関連する問題