Hi,
I am experimenting with gstreamer for an rtp application. Before I start coding, I want to see what gstreamer is capable of at the moment, so I thought I would experiment with a few simple pipelines. So far I have been unable to get even a simple pipeline working the way I want and am at this point no sure what is going on. I have two pipelines, one that is the server, and one that is the client. The server looks like this: gst-launch \ videotestsrc ! \ theoraenc ! \ rtptheorapay ! \ udpsink while the client looks like: gst-launch --verbose \ udpsrc ! \ rtptheoradepay ! \ theoradec ! \ xvimagesink I run these both on the same machine, in different terminals. My goal is to have the videotestsrc image eventually play on the client side. When I run the server I see the following output: $ ./server Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock At this point I assume it is in a good state and is doing the job I want. So I go to star the client. Everytime I see the following: $ ./client Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /pipeline0/rtptheoradepay0: Could not decode stream. Additional debug info: gstrtptheoradepay.c(623): gst_rtp_theora_depay_process (): /pipeline0/rtptheoradepay0: Could not switch codebooks Execution ended after 17066459 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... FREEING pipeline ... I am not sure what the above error is trying to tell me. Does anyone have an idea what is wrong with my pipeline? Or an idea as to an alternative I can try to acheive the same goal? Thanks, Jon ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
On Sun, 2008-10-05 at 13:09 -0700, Jon Dufresne wrote:
> Hi, > > I am experimenting with gstreamer for an rtp application. Before I > start coding, I want to see what gstreamer is capable of at the > moment, so I thought I would experiment with a few simple pipelines. > So far I have been unable to get even a simple pipeline working the > way I want and am at this point no sure what is going on. > > I have two pipelines, one that is the server, and one that is the client. > > The server looks like this: > > gst-launch \ > videotestsrc ! \ > theoraenc ! \ > rtptheorapay ! \ > udpsink > > while the client looks like: > > gst-launch --verbose \ > udpsrc ! \ > rtptheoradepay ! \ > theoradec ! \ > xvimagesink > > I run these both on the same machine, in different terminals. My goal > is to have the videotestsrc image eventually play on the client side. > > When I run the server I see the following output: > > $ ./server > Setting pipeline to PAUSED ... > Pipeline is PREROLLING ... > Pipeline is PREROLLED ... > Setting pipeline to PLAYING ... > New clock: GstSystemClock > > > At this point I assume it is in a good state and is doing the job I > want. So I go to star the client. Everytime I see the following: > > $ ./client > Setting pipeline to PAUSED ... > Pipeline is live and does not need PREROLL ... > Setting pipeline to PLAYING ... > New clock: GstSystemClock > ERROR: from element /pipeline0/rtptheoradepay0: Could not decode stream. > Additional debug info: > gstrtptheoradepay.c(623): gst_rtp_theora_depay_process (): > /pipeline0/rtptheoradepay0: > Could not switch codebooks > Execution ended after 17066459 ns. > Setting pipeline to PAUSED ... > Setting pipeline to READY ... > Setting pipeline to NULL ... > FREEING pipeline ... > > > I am not sure what the above error is trying to tell me. "configuration" value from the caps on the sender side to the receiver side. That should preferably be done in your signalling. Or you can use an older codec liek h263 that does not require transmitting a header. -- Olivier Crête [hidden email] Collabora Ltd ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel signature.asc (204 bytes) Download Attachment |
> For theora to work over RTP, you need to carry the content of the
> "configuration" value from the caps on the sender side to the receiver > side. That should preferably be done in your signalling. Or you can use > an older codec liek h263 that does not require transmitting a header. Thank you for your response. I had a chance to try your suggestion. I am going to try using h263. I changed my two pipelines to the following: server: gst-launch \ videotestsrc ! \ ffenc_h263 ! \ rtph263pay ! \ udpsink client: gst-launch --verbose \ udpsrc ! \ rtph263depay ! \ ffdec_h263 ! \ xvimagesink This is what I see when I first run the server in one terminal, and then the client in a different terminal. $ ./server ** (gst-launch-0.10:2874): WARNING **: Unknown codec ID 86022, please add here Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock $ ./client ** (gst-launch-0.10:2878): WARNING **: Unknown codec ID 86022, please add here Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /pipeline0/ffdec_h2630: Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. Additional debug info: gstffmpegdec.c(2313): gst_ffmpegdec_chain (): /pipeline0/ffdec_h2630: ffdec_h263: input format was not set before data start Execution ended after 29165444 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... FREEING pipeline ... My first question is, why am I getting this unknown coded ID error? And is this something to be concerned about? Second. Did I really come across a gstreamer bug and should I file it as such? In the end my pipelines still do not produce the desired result, any idea how I can fix this? Thanks, Jon ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
On Mon, 2008-10-06 at 23:37 -0700, Jon Dufresne wrote:
> > For theora to work over RTP, you need to carry the content of the > > "configuration" value from the caps on the sender side to the receiver > > side. That should preferably be done in your signalling. Or you can use > > an older codec liek h263 that does not require transmitting a header. > > Thank you for your response. I had a chance to try your suggestion. I > am going to try using h263. I changed my two pipelines to the > following: > > server: > gst-launch \ > videotestsrc ! \ > ffenc_h263 ! \ > rtph263pay ! \ > udpsink > > client: > gst-launch --verbose \ > udpsrc ! \ > rtph263depay ! \ > ffdec_h263 ! \ > xvimagesink > > This is what I see when I first run the server in one terminal, and > then the client in a different terminal. This is not going to work, see below. > > $ ./server > > ** (gst-launch-0.10:2874): WARNING **: Unknown codec ID 86022, please add here > Setting pipeline to PAUSED ... > Pipeline is PREROLLING ... > Pipeline is PREROLLED ... > Setting pipeline to PLAYING ... > New clock: GstSystemClock > > > $ ./client > > ** (gst-launch-0.10:2878): WARNING **: Unknown codec ID 86022, please add here > Setting pipeline to PAUSED ... > Pipeline is live and does not need PREROLL ... > Setting pipeline to PLAYING ... > New clock: GstSystemClock > ERROR: from element /pipeline0/ffdec_h2630: Internal GStreamer error: > negotiation problem. Please file a bug at > http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. > Additional debug info: > gstffmpegdec.c(2313): gst_ffmpegdec_chain (): /pipeline0/ffdec_h2630: > ffdec_h263: input format was not set before data start > Execution ended after 29165444 ns. > Setting pipeline to PAUSED ... > Setting pipeline to READY ... > Setting pipeline to NULL ... > FREEING pipeline ... > > > > My first question is, why am I getting this unknown coded ID error? > And is this something to be concerned about? You are building against a systemwide ffmpeg, which is not supported. > > Second. Did I really come across a gstreamer bug and should I file it as such? Very unlikely, your example pipeline all seems to function as designed. Hint, you have no codec signaling going on between the sender and receiver. > > In the end my pipelines still do not produce the desired result, any > idea how I can fix this? You should read http://webcvs.freedesktop.org/gstreamer/gst-plugins-good/gst/rtp/README?revision=1.13&view=markup Go to the part 'usage with udp' Wim > > Thanks, > Jon > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
> You should read
> http://webcvs.freedesktop.org/gstreamer/gst-plugins-good/gst/rtp/README?revision=1.13&view=markup Thank you very much for this source. My test/example now works as I had originally envisioned. Now time to play around :) ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |