Câu hỏi ffmpeg restreaming để nginx, kết nối từ chối


Mới để ffmpeg và đọc một tá hướng dẫn và howto, nhưng vẫn không thể làm cho nó hoạt động.

Tôi có một máy chủ Tvheadend nhận các kênh từ DVB, các kênh hoạt động mà không có bất kỳ vấn đề gì, nhưng tôi cần chuyển mã để U có thể thấy kênh bên ngoài nhà của tôi.

Tôi đã thử cài đặt mô-đun nginx + rtmp với ffmpeg trên một máy chủ mạnh mẽ hơn (ubuntu 18.08), nhưng bất cứ điều gì tôi làm tôi dường như không thể làm cho nó hoạt động.

Đây là những gì tôi đang cố gắng:

ffmpeg -f mpegts -i http://username:password@192.168.0.14:4445/stream/channelid/9 -deinterlace -vcodec libx264 -vb 1000k -acodec libfacc -ar 48000 -ab 48k -f flv rtmp://192.168.0.58:1935/test

Nguồn là một máy chủ tvheadend và máy chủ rtmp là ffmpeg nơi chuyển mã sẽ được thực hiện.

ffmpeg version 3.4.2-2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu2)
  configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[h264 @ 0x557f8caccca0] SPS unavailable in decode_picture_timing
[h264 @ 0x557f8caccca0] non-existing PPS 0 referenced
[h264 @ 0x557f8caccca0] SPS unavailable in decode_picture_timing
[h264 @ 0x557f8caccca0] non-existing PPS 0 referenced
[h264 @ 0x557f8caccca0] decode_slice_header error
[h264 @ 0x557f8caccca0] no frame!
[h264 @ 0x557f8caccca0] SPS unavailable in decode_picture_timing
[h264 @ 0x557f8caccca0] non-existing PPS 0 referenced
[h264 @ 0x557f8caccca0] SPS unavailable in decode_picture_timing
[h264 @ 0x557f8caccca0] non-existing PPS 0 referenced
[h264 @ 0x557f8caccca0] decode_slice_header error
[h264 @ 0x557f8caccca0] no frame!
[h264 @ 0x557f8caccca0] SPS unavailable in decode_picture_timing
[h264 @ 0x557f8caccca0] non-existing PPS 0 referenced
[h264 @ 0x557f8caccca0] SPS unavailable in decode_picture_timing
[h264 @ 0x557f8caccca0] non-existing PPS 0 referenced
[h264 @ 0x557f8caccca0] decode_slice_header error
[h264 @ 0x557f8caccca0] no frame!
[h264 @ 0x557f8caccca0] SPS unavailable in decode_picture_timing
[h264 @ 0x557f8caccca0] non-existing PPS 0 referenced
[h264 @ 0x557f8caccca0] SPS unavailable in decode_picture_timing
[h264 @ 0x557f8caccca0] non-existing PPS 0 referenced
[h264 @ 0x557f8caccca0] decode_slice_header error
[h264 @ 0x557f8caccca0] no frame!
[mp3 @ 0x557f8cacdee0] Header missing
Input #0, mpegts, from 'http://username:password@192.168.0.14:4445/stream/channelid/14':
  Duration: N/A, start: 71505.814511, bitrate: N/A
  Program 1 
    Metadata:
      service_name    : ?
      service_provider: ?
    Stream #0:0[0x50f]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 704x576 [SAR 16:11 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0xd10](dan): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
Unknown encoder 'libfacc'

Cập nhật: Chỉ cần thay đổi codec âm thanh thành aac, nhưng bây giờ tôi có được

ffmpeg version 3.4.2-2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu2)
  configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[mp3 @ 0x5572191f6de0] Header missing
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] SPS unavailable in decode_picture_timing
[h264 @ 0x5572191f5ba0] non-existing PPS 0 referenced
[h264 @ 0x5572191f5ba0] decode_slice_header error
[h264 @ 0x5572191f5ba0] no frame!
[h264 @ 0x5572191f5ba0] Increasing reorder buffer to 2
Input #0, mpegts, from 'http://username:password@192.168.0.14:4445/stream/channelid/9':
  Duration: N/A, start: 79841.014511, bitrate: N/A
  Program 1 
    Metadata:
      service_name    : ?
      service_provider: ?
    Stream #0:0[0x50f]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 704x576 [SAR 16:11 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0xd10](dan): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
[tcp @ 0x5572194ef060] Connection to tcp://192.168.0.58:1935 failed: Connection refused
[rtmp @ 0x5572194b65e0] Cannot open connection tcp://192.168.0.58:1935
rtmp://192.168.0.58:1935/test: Connection refused

0
2017-07-16 19:17


gốc


Xin chào, xin lỗi, vừa cập nhật câu hỏi với nhiều thông tin hơn - hans gerte
"Bộ mã hóa không xác định 'libfacc'" - bắt đầu bằng vấn đề đó. Sử dụng -acodec aac thay thế. - slhck
Lần sau khi chỉnh sửa câu hỏi của bạn, hãy đảm bảo sử dụng đúng ngữ pháp và định dạng. Sử dụng nút mã ({}) để định dạng đầu ra console. Cảm ơn trước. - slhck
cú pháp aac đã làm việc, nhưng bây giờ tôi nhận được một kết nối từ chối lỗi - hans gerte
Vâng, bạn có một máy chủ chạy trên 192.168.0.58 và lắng nghe trên cổng TCP 1935? Nếu không, bạn phải cấu hình và khởi động máy chủ một cách thích hợp. - slhck


Các câu trả lời:


OP giải quyết vấn đề bằng cách cài đặt lại nginx-rtmp mô-đun, đảm bảo rằng cổng RTMP được mở bằng netstat -altun. Ông cũng đảm bảo rằng chuỗi ffmpeg giống như máy chủ nignx.


0