Как просмотреть RTMP Red5 воспроизведения видео из Chrome? - PullRequest
0 голосов
/ 20 апреля 2019

Я не могу воспроизвести видео (воспроизведение) со вспышкой в ​​Chrome или любых браузерах. Я пытаюсь посмотреть видео, ранее записанное с сервера red5, работающего на Widlfy 15. Я использую версию red5 v1.0.9.-RELEASE

Я использую Chrome (версия 73.0.3683.103 (официальная сборка) (64-разрядная версия) и Adobe flash 32.0.0.171). Код в моем SWF-файле, встроенном в HTML:

    connection = new NetConnection();
    connection.proxyType = "best";
    connection.connect(“rtmps://localhost:8935/service”)

В Chrome при проверке логов я получил следующую ошибку: POST https://localhost:8935/open/1 net :: ERR_EMPTY_RESPONSE

  1. Я могу записывать видео с протоколом red5 и rtmps. Я могу выполнить успешный тест с помощью ffmpeg -i "rtmps: // localhost: 8935 / service / my_video.mp4" -vcodec copy -acodec copy out.mp4. Я обновил многие библиотеки, такие как apache, httpcontantainer.
  2. Я использовал Chrome64_51.0.2704.84 с версией Flash 21.0.0.242. Вопрос тот же.
  3. Мой сервер red5 поддерживает TLS 1.0, TLS 1.1, TLS 1.2 (проверьте это с помощью nmap и при отладке кода сервера red5.
  4. У меня та же проблема с версией v1.0.10 красного 5.
  5. Wireshark указывает, что используется TLS 1.2, и показывает Encypted Message Hanshake, а затем сообщение с данными приложения, как если бы TLS 1.2 передавал данные. Затем следующее сообщение является предупреждением шифрования TLS. После этого связь жестоко прервалась.

Я использую сертификат собственной подписи для своего локального хоста. Я добавил корневой сертификат CA в свой браузер Chrome для имитации сертификата CA. Truststore и keystore правильно настроены в redcore.xml, и запись видео работает. На стороне сервера, где в моем контейнере с именем my_hostname работает red5, я получил следующие журналы, которые кажутся важными:

Я установил собственный RTMPS в red5, но у меня есть журнал, говорящий, что я по какой-то причине не являюсь родным RTMPS:

my_hostname | 15: 55: 37,610 ИНФОРМАЦИЯ [org.red5.server.net.rtmps.RTMPSIoFilter] (NioProcessor-28) Идентификатор сеанса RTMPS: CBN7YR9BFVO9W

my_hostname | 15: 55: 37,610 ИНФОРМАЦИЯ [org.red5.server.net.rtmps.RTMPSIoFilter] (NioProcessor-28) Запрошено нестандартное соединение RTMPS для: CBN7YR9BFVO9W

my_hostname | 15: 55: 47,324 ПРЕДУПРЕЖДЕНИЕ [org.red5.server.net.rtmp.RTMPConnection] (rtmpScheduler-1) Закрытие CBN7YR9BFVO9W из-за длительного рукопожатия. Состояние:> подключиться

Как просмотреть rtmps red5 для воспроизведения видео из Chrome?

Больше журналов:

my_hostname | 15: 55: 37,547 INFO [stdout] (NioProcessor-28) обновляет состояние рукопожатия: change_cipher_spec

my_hostname | 15: 55: 37,547 ИНФОРМАЦИЯ [stdout] (NioProcessor-28) о предстоящем квитировании: клиент завершил [20]

my_hostname | 15: 55: 37,547 ИНФОРМАЦИЯ [stdout] (NioProcessor-28) о предстоящем установлении связи: сервер change_cipher_spec [-1]

my_hostname | 15: 55: 37,547 ИНФОРМАЦИЯ [stdout] (NioProcessor-28) о предстоящем квитировании: сервер завершен [20]

my_hostname | 15: 55: 37,547 ИНФОРМАЦИЯ [stdout] (NioProcessor-28) NioProcessor-28, ЧИТАТЬ: TLSv1.2 Рукопожатие, длина = 40

my_hostname | 15: 55: 37,548 ИНФОРМАЦИЯ [stdout] (NioProcessor-28) проверить состояние рукопожатия: завершено [20]

my_hostname | 15: 55: 37,548 INFO [stdout] (NioProcessor-28) обновляет состояние рукопожатия: завершено [20]

my_hostname | 15: 55: 37,548 INFO [stdout] (NioProcessor-28) состояние предстоящего рукопожатия: сервер change_cipher_spec [-1]

my_hostname | 15: 55: 37,548 INFO [stdout] (NioProcessor-28) состояние предстоящего рукопожатия: сервер завершен [20]

my_hostname | 15: 55: 37,548 INFO [стандартный вывод] (NioProcessor-28) *** Закончено

my_hostname | 15: 55: 37,549 INFO [stdout] (NioProcessor-28) verify_data: {118, 34, 113, 228, 247, 234, 90, 205, 141, 172, 200, 231}

my_hostname | 15: 55: 37,549 INFO [stdout] (NioProcessor-28) ***

my_hostname | 15: 55: 37,553 INFO [stdout] (NioProcessor-28) обновляет состояние рукопожатия: change_cipher_spec

my_hostname | 15: 55: 37,554 INFO [stdout] (NioProcessor-28) состояние предстоящего рукопожатия: сервер завершен [20]

my_hostname | 15: 55: 37,554 INFO [stdout] (NioProcessor-28) NioProcessor-28, ЗАПИСЬ: TLSv1.2 Изменить спецификацию шифра, длина = 1

my_hostname | 15: 55: 37,555 ИНФОРМАЦИЯ [stdout] (NioProcessor-28) *** Закончено

my_hostname | 15: 55: 37,560 ИНФОРМАЦИЯ [stdout] (NioProcessor-28) verify_data: {66, 121, 143, 7, 121, 172, 211, 83, 5, 34, 144, 192}

my_hostname | 15: 55: 37 561 ИНФОРМАЦИЯ [стандартный вывод] (NioProcessor-28) ***

my_hostname | 15: 55: 37,561 INFO [stdout] (NioProcessor-28) обновляет состояние квитирования: завершено [20]

my_hostname | 15: 55: 37,562 ИНФОРМАЦИЯ [stdout] (NioProcessor-28) NioProcessor-28, НАПИСАТЬ: TLSv1.2 Рукопожатие, длина = 40

my_hostname | 15: 55: 37,562 ИНФОРМАЦИЯ [stdout] (NioProcessor-28) %% Кэшируемый сеанс сервера: [Session-9, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]

my_hostname | 15: 55: 37,610 ИНФОРМАЦИЯ [org.red5.server.net.rtmps.RTMPSIoFilter] (NioProcessor-28) Идентификатор сеанса RTMPS: CBN7YR9BFVO9W

my_hostname | 15: 55: 37,610 INFO [org.red5.server.net.rtmps.RTMPSIoFilter] (NioProcessor-28) Запрошено нестандартное соединение RTMPS для: CBN7YR9BFVO9W

my_hostname | 15: 55: 47,324 ПРЕДУПРЕЖДЕНИЕ [org.red5.server.net.rtmp.RTMPConnection] (rtmpScheduler-1) Закрытие CBN7YR9BFVO9W из-за длительного рукопожатия. Состояние: подключить

my_hostname | 15: 55: 47,326 INFO [stdout] (rtmpScheduler-1) rtmpScheduler-1, называемый closeOutbound ()

my_hostname | 15: 55: 47,326 ИНФО [stdout] (rtmpScheduler-1) rtmpScheduler-1, closeOutboundInternal ()

my_hostname | 15: 55: 47,326 INFO [stdout] (rtmpScheduler-1) rtmpScheduler-1, SEND TLSv1.2 ALERT: предупреждение, описание = close_notify

my_hostname | 15: 55: 47,327 INFO [stdout] (rtmpScheduler-1) rtmpScheduler-1, WRITE: TLSv1.2 Alert, длина = 26

my_hostname | 15: 55: 47,328 INFO [org.red5.server.net.rtmp.RTMPMinaConnection] (NioProcessor-28) Соединение закрыто: CBN7YR9BFVO9W

my_hostname | 15: 55: 47,329 INFO [стандартный вывод] (NioProcessor-28) NioProcessor-28, называется closeInbound ()

my_hostname | 15: 55: 47,329 INFO [stdout] (NioProcessor-28) NioProcessor-28, фатальная ошибка: 80: входящий канал закрыт до получения close_notify партнера: возможна атака с усечением?

my_hostname | 15: 55: 47,329 INFO [stdout] (NioProcessor-28) javax.net.ssl.SSLException: входящий поток закрыт до получения close_notify партнера: возможна атака с усечением?

my_hostname | 15: 55: 47,329 INFO [stdout] (NioProcessor-28) %% Invalidated: [Session-9, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]

my_hostname | 15: 55: 47,330 INFO [стандартный вывод] (NioProcessor-28) NioProcessor-28, ОТПРАВИТЬ TLSv1.2 ALERT: фатальный, описание = внутренняя ошибка

my_hostname | 15: 55: 47,332 INFO [stdout] (NioProcessor-28) NioProcessor-28, предупреждение об отправке исключения: java.io.IOException: сторона записи уже закрыта.

my_hostname | 15: 55: 47,332 INFO [стандартный вывод] (NioProcessor-28) NioProcessor-28, называемый closeOutbound ()

my_hostname | 15: 55: 47,332 INFO [стандартный вывод] (NioProcessor-28) NioProcessor-28, closeOutboundInternal ()

my_hostname | 15: 55: 47,332 ПРЕДУПРЕЖДЕНИЕ [org.red5.server.net.rtmp.RTMPMinaIoHandler] (NioProcessor-28) Соединение не найдено для CBN7YR9BFVO9W

my_hostname | 15: 55: 47,507 WARN [org.red5.server.net.rtmp.RTMPConnection] (rtmpScheduler-1) Закрытие LVI6J72JECMZ2 из-за длительного рукопожатия. Состояние: подключить

my_hostname | 15: 55: 47,512 ИНФОРМАЦИЯ [stdout] (rtmpScheduler-1) rtmpScheduler-1, называемая closeOutbound ()

my_hostname | 15: 55: 47,512 ИНФОРМАЦИЯ [stdout] (rtmpScheduler-1) rtmpScheduler-1, closeOutboundInternal ()

my_hostname |15: 55: 47,513 ИНФОРМАЦИЯ [org.red5.server.net.rtmp.RTMPMinaConnection] (NioProcessor-29) Соединение закрыто: LVI6J72JECMZ2

my_hostname |15: 55: 47,513 ИНФОРМАЦИЯ [stdout] (NioProcessor-29) NioProcessor-29, называется closeInbound ()

my_hostname |15: 55: 47,513 ИНФОРМАЦИЯ [stdout] (NioProcessor-29) NioProcessor-29, фатальная ошибка: 80: входящий запрос закрыт до получения сообщения close_notify партнера: возможна атака с усечением?

my_hostname |15: 55: 47,513 ИНФОРМАЦИЯ [stdout] (NioProcessor-29) javax.net.ssl.SSLException: входящий вызов закрыт до получения close_notify партнера: возможна атака с усечением?

my_hostname |15: 55: 47,513 ИНФОРМАЦИЯ [stdout] (NioProcessor-29) NioProcessor-29, ОТПРАВИТЬ TLSv1.2 ALERT: фатально, description = internal_error

my_hostname |15: 55: 47,513 ИНФОРМАЦИЯ [stdout] (NioProcessor-29) NioProcessor-29, Предупреждение об отправке исключения: java.io.IOException: сторона записи уже закрыта.

my_hostname |15: 55: 47,513 ИНФОРМАЦИЯ [stdout] (NioProcessor-29) NioProcessor-29, называется closeOutbound ()

my_hostname |15: 55: 47,513 ИНФОРМАЦИЯ [stdout] (NioProcessor-29) NioProcessor-29, closeOutboundInternal ()

my_hostname |15: 55: 47,513 WARN [org.red5.server.net.rtmp.RTMPMinaIoHandler] (NioProcessor-29) Соединение не найдено для LVI6J72JECMZ2

1 Ответ

0 голосов
/ 20 апреля 2019

Если RTMPS работал для вас раньше, а теперь не работает, это, скорее всего, связано с удалением версий SSL или TLS в браузере.Чтобы «возможно» продолжить использование вашей установки, вам, скорее всего, придется перейти на более новую версию Red5 с поддержкой TLS, которую хочет браузер.

...