MPEG-4 > FFMPEG > Wowza > Flowplayer Help!

Hello,

I am having difficulty understanding how to configure Wowza and ffmpeg together. I am trying to transcode, on a local server, the MPEG-4 video coming from our old IP cameras (that do not spit out h.264) – then stream that up to the Wowza installation we have in the cloud (and in turn stream to our Flowplayer on our company website).

I have been following this support page:

https://www.wowza.com/docs/how-to-use-ffmpeg-with-wowza-media-server-mpeg-ts

Here is as much information as I can give you:

=== Server > About

About Wowza Streaming Engine
Engine Version
4.0.3 (build 10989)
Engine Manager Version
4.0.3 (build 10989)
License
Wowza Streaming Engine 4 Monthly Edition
OS
Linux (amd64)
Java Information
Java Version
1.7.0_55
Java VM Version
24.51-b03
Java Architecture
64
Java Name
OpenJDK 64-Bit Server VM
Java Vendor
Oracle Corporation
Java Home
/usr/lib/jvm/java-7-openjdk-amd64/jre
Java Max Heap Size
2607MB

=== FFMPEG version

# ffmpeg
ffmpeg version N-63863-g2351ea8 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jun 10 2014 05:37:53 with gcc 4.6 (Debian 4.6.3-1)
  configuration: --prefix=/root/ffmpeg-static/64bit --extra-cflags='-I/root/ffmpeg-static/64bit/include -static' --extra-ldflags='-L/root/ffmpeg-static/64bit/lib -static' --extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
  libavutil      52. 89.100 / 52. 89.100
  libavcodec     55. 66.100 / 55. 66.100
  libavformat    55. 42.101 / 55. 42.101
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4.  7.100 /  4.  7.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'

=== FFMPEG COMMAND

./ffmpeg -v verbose -i rtsp://[USER]:[PASS]@[CAMERA_IP]:[CAMERA_PORT]/mpeg4/media.amp -an -f mpegts -t 60 udp://[WOWZA_SIP]:[STREAM_PORT]

*NOTE – I have verified that the [STREAM_PORT] is open on our firewall.

=== STREAM FILE

Name: ffmpeg.stream 
URI: udp://0.0.0.0:9000

When I connect the test player (or create a Flow player) to

rtmp://[WOWZA_IP]:80/[app]/ffmpeg.stream

I get nothing happening on the screen – in flowplayer the spinning/loading graphic shows up over a black box. No image is ever shown. ON the test player, it says the stream is published, but nothing ever shows up.

The output from the FFMPEG command is as follows (when it is finished the 60 second stream):

No more output streams to write to, finishing.e=00:00:59.77 bitrate= 385.3kbits/s dup=2026 drop=0
frame= 2154 fps= 42 q=31.0 Lsize=    2812kB time=00:00:59.80 bitrate= 385.2kbits/s dup=2026 drop=0
video:2418kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 16.296783%
Input file #0 (rtsp://[USER]:[PASS]@[CAMERA_IP]:[CAMERA_PORT]/mpeg4/media.amp):
  Input stream #0:0 (video): 131 packets read (340280 bytes); 131 frames decoded;
  Total: 131 packets (340280 bytes) demuxed
Output file #0 (udp://[WOWZA_IP]:9000):
  Output stream #0:0 (video): 2154 frames encoded; 2154 packets muxed (2476237 bytes);
  Total: 2154 packets (2476237 bytes) muxed

Note i am trying to accomplish this task as an alternative to the Wowza built-in transcoder.

Any help would be really appreciated. Thank you.

gw

Hi,

The FFmpeg command you show does not do any transcoding. So the video will still be mpeg-4 part 2, which is not supported.

You do not mention starting the .stream file. You can use StreamManager or the Wowza Manager to start a stream, or add it to StartUpStreams and re-start Wowza to start pulling the stream.

You will use MediaCaster type “rtp” to start these streams by one of the methods above. When you do that you will see a publish event in the logs, and info about the connection and stream, or problems connecting to the stream.

Richard