<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Re: [Live-devel] Streaming with Sensoray 2250 encoded data</title>
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
pre
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Ross,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Thanks for your reply. I took your advice
and worked on getting data written to a file. I pretty much just added a
FileSink object in and dropped my Encoder2250 object into it. It worked
perfectly. Now that this works, do you have any advice for me to get it working
over RTP? I’m sorry to bother you with this, but this is part of a very
important project and I don’t exactly know what to try since getting it
to write to a file was so easy. I just can’t understand why the FileSink
object was able to read my doGetNextFrame function so easily and the RTPSink
object cant. Thanks a lot.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>-Jordan<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<div>
<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>
<hr size=2 width="100%" align=center tabindex=-1>
</span></font></div>
<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
live-devel-bounces@ns.live555.com [mailto:live-devel-bounces@ns.live555.com] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Ross Finlayson<br>
<b><span style='font-weight:bold'>Sent:</span></b> Tuesday, July 17, 2007 12:12
PM<br>
<b><span style='font-weight:bold'>To:</span></b> LIVE555 Streaming Media -
development & use<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [Live-devel]
Streaming with Sensoray 2250 encoded data</span></font><o:p></o:p></p>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I am trying to stream video from a platform that has a
Sensoray 2250 encoder installed on it. I have already verified that all of the
hardware works and that data produced from it can be streamed using the live
library by doing the following:</span></font><o:p></o:p></p>
</blockquote>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt' type=cite cite>
<p class=MsoNormal><font size=2 face=Symbol><span style='font-size:10.0pt;
font-family:Symbol'>·</span></font><font size=1><span style='font-size:7.5pt'> </span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> Created a
process that grabs MPEG2 frames from the encoder and dumps them to a named pipe</span></font><o:p></o:p></p>
</blockquote>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt' type=cite cite>
<p class=MsoNormal><font size=2 face=Symbol><span style='font-size:10.0pt;
font-family:Symbol'>·</span></font><font size=1><span style='font-size:7.5pt'> </span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> Modified
testMPEG1or2VideoStreamer to look at this pipe for data, and stream it to a
specified IP address</span></font><o:p></o:p></p>
</blockquote>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt' type=cite cite>
<p class=MsoNormal><font size=2 face=Symbol><span style='font-size:10.0pt;
font-family:Symbol'>·</span></font><font size=1><span style='font-size:7.5pt'> </span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> Works fine,
except that, as you can image, there is some major delay in the video which I
cannot have due to the nature of what this video stream is being used for.</span></font><o:p></o:p></p>
</blockquote>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>You can probably eliminate most of this delay by reducing the maximum
buffering used by your pipe. (I don't know how you would do this, but
there should be a way.)<o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>This method - piping encoded data directly to the (modified)
"testMPEG1or2VideoStreamer" is *by far* the easiest way to get what
you want. I recommend sticking with this approach if you can.<o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt' type=cite cite>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font><o:p></o:p></p>
</blockquote>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt' type=cite cite>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I decided to move on and write a FramedSource subclass that
encapsulates my encoder, and deliver this object directly to a
MPEG1or2VideoRTPSink.</span></font><o:p></o:p></p>
</blockquote>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>You should insert a "MPEG1or2VideoStreamDiscreteFramer" in
front of your "MPEG1or2VideoRTPSink".<o:p></o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt' type=cite cite>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>The thing that is very odd is that it seems like my
implementation of doGetNextFrame() is never executed</span></font><o:p></o:p></p>
</blockquote>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>You should first make sure that you can walk before you try to
run. I suggest that you begin by trying to write your encoded data to a file
rather than streaming it over a network. I.e., start by using a
"FileSink" instead of a "MPEG1or2VideoRTPSink". Once
you have shown that you can successfully write your encoded data into a file
(and test that the data is correct by trying to play the file in a media
player), then it would make sense to move to streaming.<o:p></o:p></span></font></p>
</div>
<pre><font size=2 face="Courier New"><span style='font-size:10.0pt'><x-sigsep>-- <o:p></o:p></span></font></pre>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
</x-sigsep>Ross Finlayson<br>
Live Networks, Inc.<br>
http://www.live555.com/<o:p></o:p></span></font></p>
</div>
</div>
</body>
</html>