Closed ilim0t closed 5 years ago
検証はjrottenberg/ffmpeg:ubuntu
上
ネットから取ってきたmp4ファイルだとレイテンシーが60sから数秒へ改善されるのでcodecやfpsが原因だと思う ただ比較しても特に原因になりそうな項目が見つからない
ホスト上 /dev/video0 -> jpg: 2.5s container上 /dev/video0 -> jpg: 2.5s
streamer, streaming-serverともにcontainer上 host上 flv -> jpg: 9.5s container上 flv -> jpg: 9.5s
streamerはhost, streaming-serverはcontainer上で host上 flv -> jpg: 9.5s container上 flv -> jpg: 10.5s
streamerはhost, streaming-serverはhost上(nodejs)で
host上 flv -> jpg: 10s
単に設計による生じるレイテンシーか?
flvを使った場合最速でも9sほど これだとあまりにもおそすぎるのでflvを使った仕組み自体の見直しが必要か?
https://github.com/TUS-OSK/bushitsuchan-PC/issues/33#issuecomment-528479824 この計測は間違ったもので,
またffmpegコマンドのpreset, tuneオプションを本番と同じ設定にし上の計測誤りも踏まえて計測し直したところ, streamerはhost, streaming-serverはcontainer上で host上 flv -> jpg: 9.5s
streamerはhost, streaming-serverはhost上(nodejs)で host上 flv -> jpg: 一瞬
であったことからstreaming-serverがボトルネックになっていると推測する
tiangolo/nginx-rtmp イメージの設定を書き換えれば応答速度は改善するのであろうが,node-media-serverを使えば改善することは確認できたのでひとまずそれを使うことにする
Dockerコンテナ上でffmpegを用いて,streamからimageに変換する処理が異様に遅い
ffmpeg -i /dev/video0 image.jpg
ffmpeg -i rtmp://streaming-server/live/bushitsuchan image.jpg
などの応答が遅くレイテンシーがある