This is my third day in a row researching the possibility to build a hardware accelerated live stream solution with said components. Though I'm very nooby (which is a huge part of the problem too), I am able to search thoroughly and happened to find several guides which helped me:
ppumkins guide found here for installing and configuring nginx with the rtmp module
http://pkula.blogspot.co.uk/2013/06/liv ... ry-pi.html
prebuilt binaries of gstreamer with omx plugin from a fine gentleman in this very forum
http://www.raspberrypi.org/phpBB3/viewt ... 34#p293634
and installed them this way:
http://wiki.matthiasbock.net/index.php/ ... ty_package
a gstreamer pipe from the nginx-rtmp-module creator himself
http://nginx-rtmp.blogspot.co.at/2013/0 ... ry-pi.html
which uses the v4l2 aka uv4l driver found here
and finally, again ppumpkin, who had the exact same problem as I did (and still have!)
for this, one has to load the driver first, since there is nothing mentioned on the nginx-rtmp blog,
i tried using the same parameters as found in the gst-launch command
no errors are thrown and it seems to be working, though the raspicam seems to reset itself due to the red LED flashing in regular intervals, with the command below this doesnt happen. looks like a watchdog timer thing. after a while though, it times out with the following error:
Code: Select all
uv4l --driver raspicam --auto-video_nr --encoding rgba --width 640 --height 480 --framerate 15 --bitrate 1000000 --system_rr --mem-lock --extension-presence=1 gst-launch-1.0 v4l2src ! "video/x-raw,width=640,height=480,framerate=15/1" ! omxh264enc target-bitrate=1000000 control-rate=variable ! video/x-h264,profile=high ! h264parse ! queue ! flvmux name=mux ! rtmpsink location='rtmp://localhost/rtmp/live'
Code: Select all
raspivid -t 0 -w 640 -h 480 -fps 15 -hf -b 1000000 -o - | \ gst-launch-1.0 fdsrc ! "video/x-raw,width=640,height=480,framerate=15/1" ! omxh264enc target-bitrate=1000000 control-rate=variable ! video/x-h264,profile=high ! h264parse config-interval=2 ! queue ! flvmux name=mux ! rtmpsink location='rtmp://localhost/rtmp/live'
update: this one gives me an error saying that writing the input to the openmax buffer wasnt possible.
same as here: https://github.com/arut/nginx-rtmp-module/issues/284 (as you can see I added the mentioned config-interval but it still doesnt work)
still in both cases i am unable to connect (inside my local LAN), though I'm unsure if the rtmpsink location is also my actual url to provide my rtmp player with (in my case windows, smplayer).
for further improvement i would like to add hls and a webpage with a flash player in it.. but once i can verify that it works, these 2 things seem not that important for now