[FFmpeg-user] HLS-webm and unicast

Lucas da Vila lucas8666 at gmail.com
Thu Aug 20 18:35:33 CEST 2015


Hi Reaz,

I've managed to get a HLS live stream using nginx with the RTMP module.
Look at this links
http://nginx-rtmp.blogspot.com.ar/
http://pkula.blogspot.de/2013/06/live-video-stream-from-raspberry-pi.html
https://github.com/arut/nginx-rtmp-module

nginx listens on 1935 port for the RTMP stream and uses the storage to
store the files ts files. Works on a circular buffer fasion, deleting the
old ts files.

I don't know if this is what you really need.


Lucas

On Thu, Aug 20, 2015 at 12:49 PM, Reaz Baksh <reaz.baksh at bellmedia.ca>
wrote:

> 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 at 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
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>


More information about the ffmpeg-user mailing list