<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi all,<br>
<br>
I try to program a video streamer for the MPEG4000XLP (a&nbsp; 4-Channel
MPEG4 Encoder/Decoder for PC104+, <a
 href="http://ampltd.com/prod/mpeg4kxlp.html">http://ampltd.com/prod/mpeg4kxlp.html</a>
) with help of the live media SDK.<br>
<br>
For the program base structure I have used the test program
"testMPEG4VideoStreamer"&nbsp; of live555 testFiles. The core change that I
made is that I set in function void play()<br>
<br>
videoSource = MPEG4VideoStreamFramer::createNew(*env, <u>inputSource</u>);<br>
<br>
where <u>inputSource</u> defined as <u>DeviceSourceMPG4K* inputSource</u>;<br>
<br>
where <u>DeviceSourceMPG4K</u> a class based on the <u>DeviceSource</u>
file which was suggested according to the FAQ:<br>
<br>
"<small>Alternatively, if your encoder
presents you with a sequence of frames, rather than a sequence of
bytes, then
a more efficient solution would be to write your own
"<a
 href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html">FramedSource</a>"
subclass that encapsulates your encoder,
and delivers audio or video frames directly to
the appropriate "*RTPSink" object.
This avoids the need for an intermediate 'framer' filter that parses
the input byte stream.
<small>(If, however, you are streaming MPEG-4 or MPEG-2 video with "B"
frames, then you should include the appropriate "*<em>Discrete</em>Framer"
filter,
in order to generate correct presentation times.)</small></small>
<p><small>For a model of how to do that, see
"<a
 href="http://www.live555.com/liveMedia/doxygen/html/DeviceSource_8cpp-source.html">liveMedia/DeviceSource.cpp</a>"
(and
"<a
 href="http://www.live555.com/liveMedia/doxygen/html/DeviceSource_8hh-source.html">liveMedia/include/DeviceSource.hh</a>").
You will need to fill in parts of this code to do the actual read from
your encoder.</small> "<br>
</p>
<p>It works, but when I run the program I get the following continuous
message :<br>
</p>
<p>MPEG4VideoStreamParser::parseVideoObjectPlane(): Saw unexpected code
0x1b2<br>
MPEG4VideoStreamParser::parseVideoObjectPlane(): marker bit not set!<br>
MPEG4VideoStreamParser::parseVideoObjectPlane(): Saw unexpected code
0x1b2<br>
MPEG4VideoStreamParser::parseVideoObjectPlane(): marker bit not set!.<br>
.MPEG4VideoStreamParser::parseVideoObjectPlane(): Saw unexpected code
0x1b2<br>
MPEG4VideoStreamParser::parseVideoObjectPlane(): marker bit not set!<br>
....<br>
</p>
And by the mplayer I see an almost clear Video with some breaks in its
flow. What I am doing wrong? How can I set the marker bit ???
<p>Thank you all in advanced,<br>
Ioannis Skazikis.<br>
</p>
<p>Also the mplayer outputs:<br>
</p>
MPlayer 1.0-1.rc2.10mdv2008.1-4.2.2 (C) 2000-2007 MPlayer Team<br>
CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (Family: 15, Model: 4, Stepping:
1)<br>
CPUflags:&nbsp; MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1<br>
Compiled with runtime CPU detection.<br>
mplayer: could not connect to socket<br>
mplayer: No such file or directory<br>
Failed to open LIRC support. You will not be able to use your remote
control.<br>
<br>
<small>Playing rtsp://172.18.5.175:8554/testStream.<br>
Resolving 172.18.5.175 for AF_INET6...<br>
Couldn't resolve name for AF_INET6: 172.18.5.175<br>
Connecting to server 172.18.5.175[172.18.5.175]: 8554...<br>
rtsp_session: unsupported RTSP server. Server type is 'unknown'.<br>
STREAM_LIVE555, URL: rtsp://172.18.5.175:8554/testStream<br>
Stream not seekable!<br>
&nbsp;file format detected.<br>
Initiated "video/MP4V-ES" RTP subsession on port 18888<br>
VIDEO:&nbsp; [mp4v]&nbsp; 0x0&nbsp; 0bpp&nbsp; 0.000 fps&nbsp;&nbsp;&nbsp; 0.0 kbps ( 0.0 kbyte/s)<br>
xscreensaver_disable: Could not find XScreenSaver window.<br>
No value set for `/apps/gnome-screensaver/idle_activation_enabled'<br>
==========================================================================<br>
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family<br>
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)<br>
==========================================================================<br>
Audio: no sound<br>
FPS forced to be 100.000&nbsp; (ftime: 0.010).<br>
Starting playback...<br>
Marker bit missing before time_increment<br>
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)<br>
VDec: using Planar YV12 as output csp (no 0)<br>
Movie-Aspect is 1.25:1 - prescaling to correct movie aspect.<br>
VO: [xv] 720x576 =&gt; 720x576 Planar YV12&nbsp; [zoom]<br>
[mpeg4 @ 0x8898c90]warning: first frame is no keyframe<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
[mpeg4 @ 0x8898c90]ac-tex damaged at 20 8<br>
[mpeg4 @ 0x8898c90]Error at MB: 388<br>
[mpeg4 @ 0x8898c90]concealing 1295 DC, 1295 AC, 1295 MV errors<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
Marker bit missing before time_increment<br>
[mpeg4 @ 0x8898c90]ac-tex damaged at 44 2<br>
[mpeg4 @ 0x8898c90]Error at MB: 136<br>
[mpeg4 @ 0x8898c90]concealing 1535 DC, 1535 AC, 1535 MV errors<br>
Marker bit missing before time_increment<br>
.....<br>
</small>
</body>
</html>