Search code examples
macosffmpegvideo-streamingrtsprtmp

FFMPEG & MistServer: RTMP Input/Output error


I have an IP camera that outputs a RTSP stream that I'm trying to use to display a live feed on my website. This is a small site that only my wife and I will access so I'm trying to use a free streaming service. For that reason, I've decided to try MistServer's open source option.

I currently have downloaded MistServer and have it running without installation on my mac (sudo ./MistController). With MistServer running, I have a stream set up and default protocols configured. The stream is configured as follows:

stream name: ipcam
source: push://

The configuration page gives me the following source to push to:

RTMP full url: rtmp://127.0.0.1/live/ipcam
RTMP url: rtmp://127.0.0.1/live/
RTMP stream key: ipcam

In the streams view, the stream's status is unavailable, but I'm assuming this is because it isn't receiving an input. I haven't been able to confirm this via documentation.

Here is the FFMPEG command that I am running and the error that I'm getting:

ffmpeg -rtsp_transport tcp -i rtsp://<user>:@<camera_ip>:554/live0.264 -acodec copy -vcodec copy -f flv rtmp://127.0.0.1/live/ipcam

ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.1.0 (clang-802.0.42)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-vda
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://<user>:@<camera_ip>:554/live0.264':
  Metadata:
    title           : Session Streamed by LIBZRTSP
    comment         : live0.264
  Duration: N/A, start: 0.242000, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720, 25 fps, 24.83 tbr, 90k tbn, 50 tbc
    Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
rtmp://127.0.0.1/live/ipcam: Input/output error

I can't determine from this error if the issue is the FFMPEG command or my MistServer configuration.


Solution

  • I contacted MistServer and they recommended running the server on a non-osx machine. So I set everything up on my raspberry pi and the stream is now working for me with the above command. I guess OS X isn't tested regularly on their end so its not as stable.

    I've had a few more correspondences with the MistServer team and their email support has been awesome. Especially since I'm using their open-source version.