Hi list,
I´m building streaming application in python. Applications writes data to rtmpsink and to filesink using tee element. Starting and streaming works fine in ideal environment(network) but what to do if there is disconnect with streaming server for example? I'm trying to figure out how I at least can make pipeline write data to filesink and block streaming part(rtmpsink)... What I'm trying to archive: step 1) At least I would like to keep my archive file(filesink) after error in streaming part(rtmpsink) occur. Hereby we have some backup if error happens. step 2) Manually reconnect to streaming server. step 3) Build some mechanism to check for connection Question(s): Is it possible to archive what I'm trying to do? How can it be archived (dynamic pipeline / probes / extra elements )? Any explanation, example or point to right direction will be very much appreciated. note: Gst version: gstreamer 1.3.90 (rtmpsink, faac, x264enc) OS: ubuntu 14.04 LTS Streaming server: wowza 4.x Test application (code): link Pipeline after startup(OK): link Pipeline after rtmpsink error(Failed to write data): link Log snippet after rtmpsink error(Failed to write data): link |
Hello, did you solved this situation? I'm currently stuck with same problem. Actually I have a valve element before rtmpsink and when rtmpsink fire an error on bus I put valve in drop state but this doesn't solve, pipeline stop to write on filesink aniway... Btw rtmpsink as async=false Thank you On Tue, Dec 30, 2014 at 6:16 PM, KPAXIT <[hidden email]> wrote: Hi list, _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
ceyThe logOn Mi, 2016-03-09 at 23:11 +0100, lestoilfante wrote:
> Hello, > did you solved this situation? > > I'm currently stuck with same problem. Actually I have a valve > element before rtmpsink and when rtmpsink fire an error on bus I put > valve in drop state but this doesn't solve, pipeline stop to write on > filesink aniway... Btw rtmpsink as async=false There are two things here: 1) flow returns: take a look at the errorignore element from gst- plugins-bad. That allows you to ignore flow errors from downstream to keep upstream running 2) error messages: usually you would shut down the pipeline completely if you receive an error message. In your case you probably don't want that. Best solution for this is a GstBin subclass where in GstBin::handle_message() you specifically handle error messages that you want to ignore instead of forwarding them. And could then somehow signal your application that this output is having an error and should e.g. be removed. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Free forum by Nabble | Edit this page |