<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div style="margin:0px;background-color:rgb(255, 255, 255)"></div>
> I've done some more testing and have seen some promising results:
<div>> </div>
<div>> I used the suggested pipline:</div>
<div>> MPEGTS Multicast Stream -----> BasicUDPSource ----> FileSink</div>
<div>> but I have it write to stdout instead of a file. I then pipe this into testMPEG2TransportSplitter like:</div>
<div>> </div>
<div>> basicUDPtostdout | testMPEG2TransportSplitter</div>
<div>> </div>
<div>> This works just as I would expect it to, dumping out the live h264 video stream into its own file. So now the question is why doesn't using the BasicUDPSource as a FramedSource work with the MPEG2TransportStreamDemux. The only thing I can think of is
that it has to do with the buffer of the UDP source getting filled up.</div>
<div><br>
</div>
I figured out the issue with using the UDP as a source for the MPEG2TransportStreamDemux:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
It seems to be an issue with the StreamParser, when it is ensuring valid bytes the number of bytes that are needed is only 1 but the UDP source is reading ~940 bytes. So, the if statement: fCurParserIndex + numBytesNeeded > BANK_SIZE never becomes true, thus
never switching the parser banks. I fixed this issue by subclassing the BasicUDPSource and overriding the maxFrameSize function to something > ~940.
<span style="margin:0px;background-color:rgb(255, 255, 255)"></span><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
With this now working I now need to figure out how to hookup the <span style="background-color:rgb(255, 255, 255);display:inline !important">MPEG2TransportStreamDemux to the
<span style="background-color:rgb(255, 255, 255);display:inline !important">H264VideoRTPSink</span>. I believe it should go something like this:<br>
<br>
<span style="background-color:rgb(255, 255, 255);display:inline !important"> MPEGTS Multicast Stream -----> BasicUDPSource <span style="background-color:rgb(255, 255, 255);display:inline !important">-----> <span style="background-color:rgb(255, 255, 255);display:inline !important">MPEG2TransportStreamDemux<span> <span style="background-color:rgb(255, 255, 255);display:inline !important">----->
H264VideoRTPSink</span></span></span></span></span><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><br>
</span></span></span></span></span></span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span style="background-color:rgb(255, 255, 255);display:inline !important">However,
I understand I don't have the ability to specify the sink for the various demuxed elementry streams. Is there any way this could be added or subclassed to allow such a thing?</span></span></span></span></span></span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><br>
</span></span></span></span></span></span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span style="background-color:rgb(255, 255, 255);display:inline !important">Thank
you,</span></span></span></span></span></span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><br>
</span></span></span></span></span></span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span style="background-color:rgb(255, 255, 255);display:inline !important">Josh</span></span></span></span></span></span></div>
<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
</div>
</body>
</html>