dynamicdevices / makespacelive Goto Github PK
View Code? Open in Web Editor NEWConnecting people with a platform to enable straightforward live streaming and recording of events and makespaces
License: Other
Connecting people with a platform to enable straightforward live streaming and recording of events and makespaces
License: Other
There's an issue with the RPi firmware used in the current Balena base image which causes GStreamer to fail to initialise the h264enc plugin
gst-launch-1.0 -v videotestsrc ! omxh264enc ! fakesink
gives
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, width=(int)320, height=(int)240, framerate=(fraction)30/1, format=(string)I420, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
0:00:00.381993085 595 0x13de750 ERROR omx gstomx.c:1399:gst_omx_component_set_parameter:<omxh264enc-omxh264enc0> Set video_encode parameter at index 0x02000001: Bad parameter (0x80001005)
0:00:00.388058054 595 0x13de750 ERROR omx gstomx.c:1578:gst_omx_port_update_port_definition:<omxh264enc-omxh264enc0> Updated video_encode port 200 definition: Bad parameter (0x80001005)
0:00:00.406862960 595 0x13de750 ERROR omx gstomx.c:1399:gst_omx_component_set_parameter:<omxh264enc-omxh264enc0> Set video_encode parameter at index 0x02000001: Bad parameter (0x80001005)
0:00:00.413642926 595 0x13de750 ERROR omx gstomx.c:1578:gst_omx_port_update_port_definition:<omxh264enc-omxh264enc0> Updated video_encode port 200 definition: Bad parameter (0x80001005)
0:00:00.452508731 595 0x13de750 ERROR omx gstomx.c:1399:gst_omx_component_set_parameter:<omxh264enc-omxh264enc0> Set video_encode parameter at index 0x02000001: Bad parameter (0x80001005)
0:00:00.457898704 595 0x13de750 ERROR omx gstomx.c:1578:gst_omx_port_update_port_definition:<omxh264enc-omxh264enc0> Updated video_encode port 200 definition: Bad parameter (0x80001005)
0:00:00.475185618 595 0x13de750 ERROR omx gstomx.c:1399:gst_omx_component_set_parameter:<omxh264enc-omxh264enc0> Set video_encode parameter at index 0x02000001: Bad parameter (0x80001005)
0:00:00.478108603 595 0x13de750 ERROR omx gstomx.c:1578:gst_omx_port_update_port_definition:<omxh264enc-omxh264enc0> Updated video_encode port 200 definition: Bad parameter (0x80001005)
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3064): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
This is noted as a bug here and should be fixable with an rpi-update to the base image
Need a way to set the key frame interval to 2 (2s or 60 frames at 30fps say) in the gstreamer pipeline. Currently it seems to default to something like 10s
We can stream successfully to Restream.io without this but we get warnings and there may be knock on effects
Feedback from LivLug event is that we should see latencies around 1s if that
This is the behaviour we generally want, but I think that sometimes we fail to connect to the configured Wifi even though it is available and then the device is blocked in its configuration mode.
Need to think about connection retries maybe?
It seems to seg fault very quickly on the Pi0w. Seems OK on the Piv3 though.
May need to look at an alternative source such as piping out of raspivid
e.g. to use better quality microphones than those built into webcams
Sorry to bug @ajlennon but keep getting this error after about a second after initialising Pi Cam on my microscope streamer. Worked fine a few weeks back. Ive made new restream keys etc but cants seem to resolve error... hope u well :)
heres a still to prove pi cam works and some images of the scope prototype ;) (the red ring is because I used red PLA as a material for the microscope which the strong light source penetrates and you can see )
Defaulting to PiCam
No audio capture available
Pipeline stream:
rpicamsrc keyframe-interval=2 hflip=true vflip=true ! omxh264enc ! video/x-h264,width=1280,height=720,framerate=30/1 ! h264parse ! flvmux streamable=true name=mux ! queue ! rtmpsink location='rtmp://10.0.31.212/live/ live=1 flashver=FME/3.0%20(compatible;%20FMSc%201.0)'
GST ERROR (gerror=GLib.Error('Could not open resource for writing.', 'gst-resource-error-quark', 6), debug='gstrtmpsink.c(245): gst_rtmp_sink_render (): /GstPipeline:pipeline0/GstRTMPSink:rtmpsink0:\nCould not connect to RTMP stream "\'rtmp://10.0.31.212/live/ live=1 flashver=FME/3.0%20(compatible;%20FMSc%201.0)\'" for writing'
@ajlennon Its alive! Went for the standalone method having not realised that resin could do it all for me, ah well. Always scroll down. So yep it works well enough for me to follow. I could help with a bit more handholding as in "What is Resin"
Had to do all the apt-get install -y
stuff line by line to get it all to install. Imagine the Resin method would get rid of all that.
But after an hour faffing, It's restream.io'ing with Twitch. Yay I now have wireless house security cam with adverts!
Really well done Alex its awesome and be handy for documenting workshops for me aswell as DoES. Im going to try that 360 DIY cam soon and see if it works on google cardboard with youtube nice one dream-stream-team
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.