Я пытаюсь безопасно транслировать видео, и вот что я попробовал:

Консоль 1

$ ffmpeg -i out.webm -f format tls://127.0.0.1:8554?listen&cert=test.crt&key=test.key
[1] 46061
[2] 46062    
$ ffmpeg version N-81392-ga453bbb Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.2) 20160609
  configuration: --pkg-config-flags=--static --enable-shared --enable-pic --enable-libvpx --prefix=/home/ytan/Dev/build-x64
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 54.100 / 57. 54.100
  libavformat    57. 47.101 / 57. 47.101
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 52.100 /  6. 52.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100

(...waiting indefinitely)

Консоль 2

$ ffplay tls://127.0.0.1:8554
ffplay version N-81392-ga453bbb Copyright (c) 2003-2016 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.2) 20160609
  configuration: 
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 54.100 / 57. 54.100
  libavformat    57. 47.101 / 57. 47.101
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 52.100 /  6. 52.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
tls://127.0.0.1:8554: Protocol not foundq=    0KB sq=    0B f=0/0   
$ 

Я сгенерировал свой ключ и сертификат, используя OpenSSL:

$ openssl req -newkey rsa:2048 -nodes -keyout domain.key -x509 -days 365 -out domain.crt
$ sudo cp test.crt /usr/local/share/ca-certificates/
$ sudo update-ca-certificates 

Может кто-нибудь подсказать мне подсказку или указатель?

1 ответ1

0

Я понял, что tls не включен в ffmpeg по умолчанию.

$ ffplay -protocols

Я перечислил все доступные протоколы, и "tls" там не было. Мне пришлось перестраивать свой ffmpeg с флагом --enable-openssl .

Кредиты Рейндлю и Морицу (список рассылки ffmpeg)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .