GoLive с Facebook rtmps проблема с транспортом, используя ffmpeg - PullRequest
1 голос
/ 06 октября 2019

У меня возникла проблема при попытке выяснить подходящую конфигурацию Facebook rtmps Go Live для ffmpeg с приведенной ниже конфигурацией, но безуспешно!

rtmpUrls = `[f=flv]rtmp://a.rtmp.youtube.com/live2/xxxxxxx|[f=flv]rtmps://live-api-s.facebook.com:443/rtmp/xxxxxxxx`;
    });

        this.ffmpeg = child_process.spawn('ffmpeg', [

          // FFmpeg reads the input from STDIN write
          '-i', '-',
           '-flags', '+global_header',
          '-vcodec', 'copy',

          // AAC audio is required for Facebook Live.
          '-acodec', 'libfdk_aac',
          //'-ab', '32k', 
          //'-ar', '44100',
          '-bsf:a', 'aac_adtstoasc',

          '-framerate', '60',
          '-g', '30',

          '-f', 'tee', 
          '-map', '0:v',
          '-map', '0:a',
          // The output RTMPs.
          rtmpUrls
        ]);

Я получил это из журнала событий Facebook

Facebook не получал видеосигнал от источника видео в течение некоторого времени. Убедитесь, что соединение между источником видео и Facebook достаточно для разрешения источника и битрейта. Проверьте журналы вашего видеокодера для деталей. Если проблемы сохраняются, попробуйте улучшить качество соединения или уменьшить битрейт вашего видеоисточника.

Когда я изменяю частоту кадров с 60 на 30, он будет мигать на черном пустом экране, пытаясь получить сигнал, а затем немедленновернуться на страницу по умолчанию. Хотя youtube работает безупречно!

Это журнал, приходящий ffmpeg, но журнал также приходит, когда используется только youtube rtmp. log

1 Ответ

0 голосов
/ 07 октября 2019

Проблема была в ffmpeg, который по умолчанию не включает поддержку openssl из встроенного пакета yum. Итак, я удалил пакет ffmpeg и установил его из исходного кода, используя приведенную ниже командную строку, прежде чем везде можно было нормально работать.

PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib -ldl" --bindir="$HOME/bin" --pkg-config-flags="--static"  --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-pthreads --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-filters --enable-openssl --enable-runtime-cpudetect --extra-version=ffmpeg --disable-shared --enable-static
...