問題タブ [rtmps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
certificate - Chrome から rtmps red5 再生ビデオを表示するには?
Chrome やその他のブラウザで Flash を使用して動画を再生 (再生) できません。Widlfy 15 で実行されている red5 サーバーから以前に録画されたビデオを見ようとしています。使用している red5 のバージョンは v1.0.9.-RELEASE です。
Chrome (バージョン 73.0.3683.103 (公式ビルド) (64 ビット)) と Adobe flash 32.0.0.171 を使用しています。HTML に埋め込まれた SWF ファイルのコードは次のとおりです。
Chrome でログを確認すると、次のエラーが発生しました: POST https://localhost:8935/open/1 net::ERR_EMPTY_RESPONSE
- red5 および rtmps プロトコルでビデオを録画できます。ffmpeg -i "rtmps://localhost:8935/service/my_video.mp4" -vcodec copy -acodec copy out.mp4 でテストを成功させることができます。apache 、 httpcontantainer などの多くのライブラリをアップグレードしました。
- Flash バージョン 21.0.0.242 で Chrome64_51.0.2704.84 を使用しました。問題は同じです。
- 私の red5 サーバーは TLS 1.0 、 TLS 1.1 、 TLS 1.2 をサポートしています (nmap で確認し、red5 サーバー コードのデバッグ中に確認してください。
- red 5 の v1.0.10 バージョンでも同じ問題があります。
- Wireshark は、TLS 1.2 が使用されていることを示し、TLS 1.2 がデータを送信しているかのように、暗号化されたメッセージ Hanshake とアプリケーション データ メッセージを表示します。次のメッセージは TLS 暗号化アラートです。その後、通信は無残に停止しました。
localhost に自己署名証明書を使用しています。CA 証明書をシミュレートするために、Chrome ブラウザーに CA ルート証明書を追加しました。トラストストアとキーストアが redcore.xml で正しく設定され、ビデオ録画が機能します。my_hostname というコンテナーで red5 が実行されているサーバー側で、重要と思われる次のログを取得しました。
red5 で RTMPS ネイティブをセットアップしましたが、何らかの理由で非ネイティブ RTMPS にいるというログがあります。
私のホスト名 | 15:55:37,610 情報 [org.red5.server.net.rtmps.RTMPSIoFilter] (NioProcessor-28) RTMPS セッション ID: CBN7YR9BFVO9W
私のホスト名 | 15:55:37,610 INFO [org.red5.server.net.rtmps.RTMPSIoFilter] (NioProcessor-28) 非ネイティブ RTMPS 接続が要求されました: CBN7YR9BFVO9W
私のホスト名 | 15:55:47,324 WARN [org.red5.server.net.rtmp.RTMPConnection] (rtmpScheduler-1) ハンドシェイクが長いため、CBN7YR9BFVO9W を閉じています。状態: >接続
Chrome から rtmps red5 再生ビデオを表示するには?
その他のログ:
私のホスト名 | 15:55:37,547 INFO [stdout] (NioProcessor-28) ハンドシェイク状態を更新: change_cipher_spec
私のホスト名 | 15:55:37,547 INFO [stdout] (NioProcessor-28) 今後のハンドシェイク状態: クライアント終了 [20]
私のホスト名 | 15:55:37,547 INFO [stdout] (NioProcessor-28) 今後のハンドシェイク状態: サーバー change_cipher_spec[-1]
私のホスト名 | 15:55:37,547 INFO [stdout] (NioProcessor-28) 今後のハンドシェイク状態: サーバー終了 [20]
私のホスト名 | 15:55:37,547 INFO [stdout] (NioProcessor-28) NioProcessor-28、読み取り: TLSv1.2 ハンドシェイク、長さ = 40
私のホスト名 | 15:55:37,548 INFO [stdout] (NioProcessor-28) ハンドシェイク状態をチェック: 終了[20]
私のホスト名 | 15:55:37,548 INFO [stdout] (NioProcessor-28) ハンドシェイク状態の更新: 終了 [20]
私のホスト名 | 15:55:37,548 INFO [stdout] (NioProcessor-28) 今後のハンドシェイク状態: サーバー change_cipher_spec[-1]
私のホスト名 | 15:55:37,548 INFO [stdout] (NioProcessor-28) 今後のハンドシェイク状態: サーバー終了 [20]
私のホスト名 | 15:55:37,548 INFO [stdout] (NioProcessor-28) *** 終了
私のホスト名 | 15:55:37,549 情報 [stdout] (NioProcessor-28) verify_data: { 118、34、113、228、247、234、90、205、141、172、200、231 }
私のホスト名 | 15:55:37,549 情報 [stdout] (NioProcessor-28) ***
私のホスト名 | 15:55:37,553 INFO [stdout] (NioProcessor-28) ハンドシェイク状態を更新: change_cipher_spec
私のホスト名 | 15:55:37,554 INFO [stdout] (NioProcessor-28) 今後のハンドシェイク状態: サーバー終了 [20]
私のホスト名 | 15:55:37,554 INFO [stdout] (NioProcessor-28) NioProcessor-28、書き込み: TLSv1.2 暗号仕様の変更、長さ = 1
私のホスト名 | 15:55:37,555 INFO [stdout] (NioProcessor-28) *** 終了
私のホスト名 | 15:55:37,560 情報 [stdout] (NioProcessor-28) verify_data: { 66、121、143、7、121、172、211、83、5、34、144、192 }
私のホスト名 | 15:55:37,561 情報 [stdout] (NioProcessor-28) ***
私のホスト名 | 15:55:37,561 INFO [stdout] (NioProcessor-28) ハンドシェイク状態の更新: 終了 [20]
私のホスト名 | 15:55:37,562 INFO [stdout] (NioProcessor-28) NioProcessor-28、書き込み: TLSv1.2 ハンドシェイク、長さ = 40
私のホスト名 | 15:55:37,562 INFO [stdout] (NioProcessor-28) %% キャッシュされたサーバー セッション: [Session-9, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
私のホスト名 | 15:55:37,610 情報 [org.red5.server.net.rtmps.RTMPSIoFilter] (NioProcessor-28) RTMPS セッション ID: CBN7YR9BFVO9W
私のホスト名 | 15:55:37,610 INFO [org.red5.server.net.rtmps.RTMPSIoFilter] (NioProcessor-28) 非ネイティブ RTMPS 接続が要求されました: CBN7YR9BFVO9W
私のホスト名 | 15:55:47,324 WARN [org.red5.server.net.rtmp.RTMPConnection] (rtmpScheduler-1) ハンドシェイクが長いため、CBN7YR9BFVO9W を閉じています。状態: 接続
私のホスト名 | 15:55:47,326 INFO [stdout] (rtmpScheduler-1) rtmpScheduler-1、closeOutbound() と呼ばれる
私のホスト名 | 15:55:47,326 INFO [stdout] (rtmpScheduler-1) rtmpScheduler-1、closeOutboundInternal()
私のホスト名 | 15:55:47,326 INFO [stdout] (rtmpScheduler-1) rtmpScheduler-1、SEND TLSv1.2 ALERT: 警告、説明 = close_notify
私のホスト名 | 15:55:47,327 INFO [stdout] (rtmpScheduler-1) rtmpScheduler-1、書き込み: TLSv1.2 アラート、長さ = 26
私のホスト名 | 15:55:47,328 INFO [org.red5.server.net.rtmp.RTMPMinaConnection] (NioProcessor-28) 接続が閉じられました: CBN7YR9BFVO9W
私のホスト名 | 15:55:47,329 INFO [stdout] (NioProcessor-28) closeInbound() と呼ばれる NioProcessor-28
私のホスト名 | 15:55:47,329 INFO [stdout] (NioProcessor-28) NioProcessor-28、致命的なエラー: 80: ピアの close_notify を受信する前に受信が閉じられました: トランケーション攻撃の可能性がありますか?
私のホスト名 | 15:55:47,329 INFO [stdout] (NioProcessor-28) javax.net.ssl.SSLException: ピアの close_notify を受信する前に着信が閉じられました: トランケーション攻撃の可能性がありますか?
私のホスト名 | 15:55:47,329 INFO [stdout] (NioProcessor-28) %% 無効: [Session-9, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
私のホスト名 | 15:55:47,330 情報 [stdout] (NioProcessor-28) NioProcessor-28、TLSv1.2 アラートを送信: 致命的、説明 = internal_error
私のホスト名 | 15:55:47,332 INFO [stdout] (NioProcessor-28) NioProcessor-28、警告を送信する例外: java.io.IOException: ライター側は既に閉じられています。
私のホスト名 | 15:55:47,332 INFO [stdout] (NioProcessor-28) closeOutbound() と呼ばれる NioProcessor-28
私のホスト名 | 15:55:47,332 情報 [stdout] (NioProcessor-28) NioProcessor-28、closeOutboundInternal()
私のホスト名 | 15:55:47,332 WARN [org.red5.server.net.rtmp.RTMPMinaIoHandler] (NioProcessor-28) CBN7YR9BFVO9W の接続が見つかりませんでした
私のホスト名 | 15:55:47,507 WARN [org.red5.server.net.rtmp.RTMPConnection] (rtmpScheduler-1) ハンドシェイクが長いため、LVI6J72JECMZ2 を閉じています。状態: 接続
私のホスト名 | 15:55:47,512 INFO [stdout] (rtmpScheduler-1) rtmpScheduler-1、closeOutbound() と呼ばれる
私のホスト名 | 15:55:47,512 INFO [stdout] (rtmpScheduler-1) rtmpScheduler-1、closeOutboundInternal()
私のホスト名 | 15:55:47,513 INFO [org.red5.server.net.rtmp.RTMPMinaConnection] (NioProcessor-29) 接続が閉じられました: LVI6J72JECMZ2
私のホスト名 | 15:55:47,513 INFO [stdout] (NioProcessor-29) closeInbound() と呼ばれる NioProcessor-29
私のホスト名 | 15:55:47,513 INFO [stdout] (NioProcessor-29) NioProcessor-29、致命的なエラー: 80: ピアの close_notify を受信する前に受信が閉じられました: トランケーション攻撃の可能性がありますか?
私のホスト名 | 15:55:47,513 INFO [stdout] (NioProcessor-29) javax.net.ssl.SSLException: ピアの close_notify を受信する前に着信が閉じられました: トランケーション攻撃の可能性がありますか?
私のホスト名 | 15:55:47,513 情報 [stdout] (NioProcessor-29) NioProcessor-29、TLSv1.2 アラートを送信: 致命的、説明 = internal_error
私のホスト名 | 15:55:47,513 INFO [stdout] (NioProcessor-29) NioProcessor-29、警告を送信する例外: java.io.IOException: ライター側は既に閉じられています。
私のホスト名 | 15:55:47,513 INFO [stdout] (NioProcessor-29) closeOutbound() と呼ばれる NioProcessor-29
私のホスト名 | 15:55:47,513 情報 [stdout] (NioProcessor-29) NioProcessor-29、closeOutboundInternal()
私のホスト名 | 15:55:47,513 WARN [org.red5.server.net.rtmp.RTMPMinaIoHandler] (NioProcessor-29) LVI6J72JECMZ2 の接続が見つかりませんでした
node.js - ffmpeg を使用した Facebook rtmps トランスポートの問題がある GoLive
以下の構成で ffmpeg に適した facebook rtmps Go Live の適切な構成を見つけようとして問題が発生しましたが、成功しませんでした!
Facebookのイベントログからこれを受け取りました
Facebook はしばらくの間、ビデオ ソースからビデオ信号を受信していません。ビデオ ソースと Facebook 間の接続が、ソースの解像度とビットレートに対して十分であることを確認します。詳細については、ビデオ エンコーダーのログを確認してください。問題が解決しない場合は、接続品質を改善するか、ビデオ ソースのビットレートを下げることを検討してください。
フレームレートを 60 から 30 に変更すると、信号を受信しようとして黒い空白の画面が点滅し、すぐにデフォルトのページに戻ります。YouTubeは完璧に動作しますが!