HDHomeRun

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

HDHomeRun

dsoprea
I've been trying to read the RTP feed from my HDHR tuner with zero success. Does anyone have experience with this?

GStreamer:

gst-launch --gst-debug=udpsrc:5 udpsrc port=5000 caps="application/x-rtp,media=(string)video,format=(fourcc)I420, width=(int)720, height=(int)480,encoding-name=(string)RAW,sampling=(string)YUV,pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001, interlaced=(boolean)true" ! gstrtpbin ! rtpvrawdepay ! filesink location=/tmp/output

* I got the capabilities via autodetection somehow, at some point.

HDHR:

hdhomerun_config 1310DA25 set /tuner2/target udp://192.168.5.102:5000

When I try to send via RTP (rtp://192.1685.102:5000, instead of using UDP, as above), I get a UDP error every time, no matter what the capabilities, whenever it sinks to gstrtpbin:

ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data flow error.

I'm assuming this means that capabilities don't match between linked pads. 

When I use the UDP scheme (originally, above), I don't get any errors, but no data moves through the pipeline.


--gst-debug on various elements at various levels didn't give me anything useful.


VLC works perfectly, whether I'm sending to rtp://xxx.xxx.xxx.xxx:nnnn and receiving on rtp://:nnnn, or sending to udp://xxx.xxx.xxx.xxx:nnnn and receiving on udp://:nnnn.

Any thoughts?

Also, is GST not able to automatically identify capabilities of the RTP stream? I don't know how I tripped over it (in order to get the capabilities, above), but it doesn't seem very intuitive. It seems like that if VLC (super-versatile) could do it, GStreamer (also super-versatile) could do it.


Thanks.

Dustin

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HDHomeRun

dsoprea
By the way, I got this by using playbin2:

dustin@dustinlenovo:/tmp$ gst-launch --gst-debug=playbin2:5 playbin2 uri=udp://192.168.5.102:5000

0:00:00.021952272 32470  0x9683400 LOG                 playbin2 gstplaybin2.c:1318:gst_playbin_uri_is_valid:<playbin20> checking uri 'udp://192.168.5.102:5000'
0:00:00.022006314 32470  0x9683400 DEBUG               playbin2 gstplaybin2.c:1372:gst_play_bin_set_uri: set new uri to udp://192.168.5.102:5000
Setting pipeline to PAUSED ...
0:00:00.022144060 32470  0x9683400 LOG                 playbin2 gstplaybin2.c:3895:gst_play_bin_change_state:<playbin20> clearing shutdown flag
0:00:00.022164495 32470  0x9683400 DEBUG               playbin2 gstplaybin2.c:3790:setup_next_source:<playbin20> setup sources
0:00:00.022194614 32470  0x9683400 DEBUG               playbin2 gstplaybin2.c:3477:activate_group:<playbin20> activating group 0x9711318
0:00:00.022208169 32470  0x9683400 DEBUG               playbin2 gstplaybin2.c:3498:activate_group:<playbin20> making new uridecodebin
0:00:00.022597792 32470  0x9683400 DEBUG               playbin2 gstplaybin2.c:3456:group_set_locked_state_unlocked:<playbin20> locked_state 0 on group 0x9711318
0:00:00.023812556 32470  0x9683400 DEBUG               playbin2 gstplaybin2.c:2317:gst_play_bin_handle_message:<playbin20> Ignoring async state change of uridecodebin: uridecodebin0
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock





0:00:14.542698212 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3214:autoplug_continue_cb:<playbin20> continue autoplugging group 0x9711318 for '':decodepad0, video/mpegts, systemstream=(boolean)true, packetsize=(int)188: 1
0:00:14.542910589 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3049:autoplug_factories_cb:<playbin20> factories group 0x9711318 for '':decodepad0, video/mpegts, systemstream=(boolean)true, packetsize=(int)188
0:00:14.550811109 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3059:autoplug_factories_cb:<playbin20> found factories 0xb64189b0
0:00:14.551117538 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3268:autoplug_select_cb:<playbin20> select group 0x9711318 for '':decodepad0, video/mpegts, systemstream=(boolean)true, packetsize=(int)188
0:00:14.551202471 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3271:autoplug_select_cb:<playbin20> checking factory mpegtsdemux
0:00:14.713355113 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3214:autoplug_continue_cb:<playbin20> continue autoplugging group 0x9711318 for '':decodepad1, audio/x-ac3: 1
0:00:14.713401299 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3049:autoplug_factories_cb:<playbin20> factories group 0x9711318 for '':decodepad1, audio/x-ac3
0:00:14.713622715 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3059:autoplug_factories_cb:<playbin20> found factories 0xb6418b80
0:00:14.714048757 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3268:autoplug_select_cb:<playbin20> select group 0x9711318 for '':decodepad1, audio/x-ac3
0:00:14.714097628 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3271:autoplug_select_cb:<playbin20> checking factory pulsesink
0:00:14.714125521 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3344:autoplug_select_cb:<playbin20> we found a sink
0:00:14.714151129 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3350:autoplug_select_cb:<playbin20> we found an audio sink
0:00:14.714177845 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3393:autoplug_select_cb:<playbin20> we have no pending sink, try to create one
0:00:14.724957778 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3268:autoplug_select_cb:<playbin20> select group 0x9711318 for '':decodepad1, audio/x-ac3
0:00:14.725003694 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3271:autoplug_select_cb:<playbin20> checking factory ac3parse
0:00:14.725687536 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3049:autoplug_factories_cb:<playbin20> factories group 0x9711318 for '':decodepad2, audio/x-ac3, framed=(boolean)true, channels=(int)[ 1, 6 ], rate=(int)[ 8000, 48000 ], alignment=(string){ iec61937, frame }; audio/x-eac3, framed=(boolean)true, channels=(int)[ 1, 6 ], rate=(int)[ 8000, 48000 ], alignment=(string){ iec61937, frame }
0:00:14.725996661 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3059:autoplug_factories_cb:<playbin20> found factories 0xb6458eb0
0:00:14.728966979 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3214:autoplug_continue_cb:<playbin20> continue autoplugging group 0x9711318 for '':decodepad3, video/mpeg, mpegversion=(int)2, systemstream=(boolean)false: 1
0:00:14.729094763 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3049:autoplug_factories_cb:<playbin20> factories group 0x9711318 for '':decodepad3, video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
0:00:14.730460890 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3059:autoplug_factories_cb:<playbin20> found factories 0xb6418620
0:00:14.731074426 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3268:autoplug_select_cb:<playbin20> select group 0x9711318 for '':decodepad3, video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
0:00:14.731165683 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3271:autoplug_select_cb:<playbin20> checking factory mpegvideoparse
0:00:14.744258860 32470 0xb643be90 DEBUG               playbin2 gstplaybin2.c:3214:autoplug_continue_cb:<playbin20> continue autoplugging group 0x9711318 for '':decodepad5, video/mpeg, mpegversion=(int)2, systemstream=(boolean)false, parsed=(boolean)true: 1
0:00:14.744409010 32470 0xb643be90 DEBUG               playbin2 gstplaybin2.c:3049:autoplug_factories_cb:<playbin20> factories group 0x9711318 for '':decodepad5, video/mpeg, mpegversion=(int)2, systemstream=(boolean)false, parsed=(boolean)true
0:00:14.744667670 32470 0xb643be90 DEBUG               playbin2 gstplaybin2.c:3059:autoplug_factories_cb:<playbin20> found factories 0xb4c00950
0:00:14.744743720 32470 0xb643be90 DEBUG               playbin2 gstplaybin2.c:3268:autoplug_select_cb:<playbin20> select group 0x9711318 for '':decodepad5, video/mpeg, mpegversion=(int)2, systemstream=(boolean)false, parsed=(boolean)true
0:00:14.744758143 32470 0xb643be90 DEBUG               playbin2 gstplaybin2.c:3271:autoplug_select_cb:<playbin20> checking factory mpeg2dec
0:00:14.854031750 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3214:autoplug_continue_cb:<playbin20> continue autoplugging group 0x9711318 for '':decodepad7, audio/x-ac3: 1
0:00:14.854191602 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3049:autoplug_factories_cb:<playbin20> factories group 0x9711318 for '':decodepad7, audio/x-ac3
0:00:14.854649600 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3059:autoplug_factories_cb:<playbin20> found factories 0xb6471880
0:00:14.855619479 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3268:autoplug_select_cb:<playbin20> select group 0x9711318 for '':decodepad7, audio/x-ac3
0:00:14.855700091 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3271:autoplug_select_cb:<playbin20> checking factory pulsesink
0:00:14.855776440 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3344:autoplug_select_cb:<playbin20> we found a sink
0:00:14.855877980 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3350:autoplug_select_cb:<playbin20> we found an audio sink
0:00:14.855955069 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3393:autoplug_select_cb:<playbin20> we have no pending sink, try to create one
0:00:14.861079720 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3268:autoplug_select_cb:<playbin20> select group 0x9711318 for '':decodepad7, audio/x-ac3
0:00:14.861206558 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3271:autoplug_select_cb:<playbin20> checking factory ac3parse
0:00:14.861928499 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3049:autoplug_factories_cb:<playbin20> factories group 0x9711318 for '':decodepad8, audio/x-ac3, framed=(boolean)true, channels=(int)[ 1, 6 ], rate=(int)[ 8000, 48000 ], alignment=(string){ iec61937, frame }; audio/x-eac3, framed=(boolean)true, channels=(int)[ 1, 6 ], rate=(int)[ 8000, 48000 ], alignment=(string){ iec61937, frame }
0:00:14.862580662 32470  0x95e5720 DEBUG               playbin2 gstplaybin2.c:3059:autoplug_factories_cb:<playbin20> found factories 0xb646de20
0:00:14.864351517 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3214:autoplug_continue_cb:<playbin20> continue autoplugging group 0x9711318 for '':decodepad9, audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)2, alignment=(string)frame: 1
0:00:14.864560656 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3049:autoplug_factories_cb:<playbin20> factories group 0x9711318 for '':decodepad9, audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)2, alignment=(string)frame
0:00:14.865104298 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3059:autoplug_factories_cb:<playbin20> found factories 0xb4101e40
0:00:14.865443547 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3268:autoplug_select_cb:<playbin20> select group 0x9711318 for '':decodepad9, audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)2, alignment=(string)frame
0:00:14.865580106 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3271:autoplug_select_cb:<playbin20> checking factory pulsesink
0:00:14.865655838 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3344:autoplug_select_cb:<playbin20> we found a sink
0:00:14.865725210 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3350:autoplug_select_cb:<playbin20> we found an audio sink
0:00:14.865796342 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3393:autoplug_select_cb:<playbin20> we have no pending sink, try to create one
0:00:14.871464068 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3268:autoplug_select_cb:<playbin20> select group 0x9711318 for '':decodepad9, audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)2, alignment=(string)frame
0:00:14.871598227 32470 0xb643bf50 DEBUG               playbin2 gstplaybin2.c:3271:autoplug_select_cb:<playbin20> checking factory a52dec


Dustin

On Wed, Nov 14, 2012 at 2:26 AM, Dustin Oprea <[hidden email]> wrote:
I've been trying to read the RTP feed from my HDHR tuner with zero success. Does anyone have experience with this?

GStreamer:

gst-launch --gst-debug=udpsrc:5 udpsrc port=5000 caps="application/x-rtp,media=(string)video,format=(fourcc)I420, width=(int)720, height=(int)480,encoding-name=(string)RAW,sampling=(string)YUV,pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001, interlaced=(boolean)true" ! gstrtpbin ! rtpvrawdepay ! filesink location=/tmp/output

* I got the capabilities via autodetection somehow, at some point.

HDHR:

hdhomerun_config 1310DA25 set /tuner2/target udp://192.168.5.102:5000

When I try to send via RTP (rtp://192.1685.102:5000, instead of using UDP, as above), I get a UDP error every time, no matter what the capabilities, whenever it sinks to gstrtpbin:

ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data flow error.

I'm assuming this means that capabilities don't match between linked pads. 

When I use the UDP scheme (originally, above), I don't get any errors, but no data moves through the pipeline.


--gst-debug on various elements at various levels didn't give me anything useful.


VLC works perfectly, whether I'm sending to rtp://xxx.xxx.xxx.xxx:nnnn and receiving on rtp://:nnnn, or sending to udp://xxx.xxx.xxx.xxx:nnnn and receiving on udp://:nnnn.

Any thoughts?

Also, is GST not able to automatically identify capabilities of the RTP stream? I don't know how I tripped over it (in order to get the capabilities, above), but it doesn't seem very intuitive. It seems like that if VLC (super-versatile) could do it, GStreamer (also super-versatile) could do it.


Thanks.

Dustin


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel