[FFmpeg-user] HLS-webm and unicast

Reaz Baksh reaz.baksh at bellmedia.ca
Thu Aug 20 17:49:50 CEST 2015


Hello
As one would see I am new to this list and to ffmpeg and to ffserver

This is what I would like to do:
Receive a rtp stream from a broadcast encoder that encodes a HD 1080i source and outputs a MPEG 4 stream as a multicast.  I have everything setup where ffmpeg can see the multicast stream.

I have two versions of ffmpeg and ffserver running on Ubuntu 14.04.03.

One is  a yum installed from a repository:
ffmpeg version 2.4.3-1ubuntu1~trusty6 Copyright (c) 2000-2014 the FFmpeg developers
  built on Nov 22 2014 17:07:19 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/usr --extra-version='1ubuntu1~trusty6' --build-suffix=-ffmpeg --toolchain=hardened --extra-cflags= --extra-cxxflags= --libdir=/usr/lib/x86_64-linux-gnu --shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-fontconfig --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-opengl --enable-x11grab --enable-libxvid --enable-libx265 --enable-libdc1394 --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libx264 --enable-libsoxr --enable-openal --enable-libopencv
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.101 / 56.  4.101
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  1.100 /  5.  1.100
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.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'

And the other is a compiled version I got from the following site:  https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
ffmpeg version N-74492-ge3b7298 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
  configuration: --prefix=/home/eng/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/eng/ffmpeg_build/include --extra-ldflags=-L/home/eng/ffmpeg_build/lib --bindir=/home/eng/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      54. 30.100 / 54. 30.100
  libavcodec     56. 57.100 / 56. 57.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 34.100 /  5. 34.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  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'


I tried to get the webm stream working but I'm running into issues where ffserver would sometimes crash or when trying to view the stream in Chrome it would say the stream is corrupt.
The following is the ffserver.conf file I'm using:

HTTPPort 8090
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 100000
CustomLog /home/eng/ffmpeg_sources/ffmpeg/log/ffserver.log

<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 1G
Launch ffmpeg
</Feed>

<Stream test.webm>
Feed feed1.ffm
Format webm
AudioCodec vorbis
AudioBitRate 64
VideoCodec libvpx
VideoSize 720x576
VideoFrameRate 25
AVOptionVideo flags +global_header
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
#AVOptionVideo qmax 42
AVOptionVideo quality good
PreRoll 10
StartSendOnKey
VideoBitRate 400
</Stream>

# Only allow local people to get the status
<Stream stat.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>

This is what I'm entering in the command line:

                ./ffserver -f /etc/ffserver.conf & ffmpeg -I rtp://192.168.1.101@239.5.1.1:1234 http://localhost:8090/feed1.ffm

As I mentioned I would like to basically have the rtp stream into Ubuntu and have ffserver stream a HLS and a webm and send the exact same input, without touching the stream, as a unicast to a particular decoder.  Is this possible?

BTW how does one search the list archive?

Any help would be greatly appreciated.

Thanks

Reaz


More information about the ffmpeg-user mailing list