CTD bug in simple video streaming applet.

I'm trying to write a simple applet to use JMF to allow an end-user to view a video stream that's being served up by VLC. It doesn't have to look immensely pretty (in fact, streamlined is what I want most). I swiped some code from the jicyshout project (http://jicyshout.sourceforge.net) which handles streaming MP3s, and borrowed a framework for an applet from one of Sun's example applets for the JMF.
Here's my code so far:
** begin file SimpleVideoDataSource.java **
import java.lang.String;
import java.net.*;
import java.io.*;
import java.util.Properties;
import javax.media.*;
import javax.media.protocol.*;
/* The SeekableStream and DataSource tweaks are based on the code from
* jicyshout (jicyshout.sourcefourge.net), which was written by Chris Adamson.
* The code was simplified (no need for mp3 metadata here), cleaned up, then
* extended for our puposes.
* This is a DataSource using a SeekableStream suitable for
* streaming video using the default parser supplied by JMF.
public class SimpleVideoDataSource extends PullDataSource {
protected MediaLocator myML;
protected SeekableInputStream[] seekStreams;
protected URLConnection urlConnection;
// Constructor (trivial).
public SimpleVideoDataSource (MediaLocator ml) throws MalformedURLException {
super ();
myML = ml;
URL url = ml.getURL();
public void connect () throws IOException {
try {
URL url = myML.getURL();
urlConnection = url.openConnection();
// Make the stream seekable, so that the JMF parser can try to parse it (instead
// of throwing up).
InputStream videoStream = urlConnection.getInputStream();
seekStreams = new SeekableInputStream[1];
seekStreams[0] = new SeekableInputStream(videoStream);
} catch (MalformedURLException murle) {
throw new IOException ("Malformed URL: " + murle.getMessage());
} catch (ArrayIndexOutOfBoundsException aioobe) {
fatalError("Array Index OOB: " + aioobe);
// Closes up InputStream.
public void disconnect () {
try {
seekStreams[0].close();
} catch (IOException ioe) {
System.out.println ("Can't close stream. Ew?");
ioe.printStackTrace();
// Returns just what it says.
public String getContentType () {
return "video.mpeg";
// Does nothing, since this is a stream pulled from PullSourceStream.
public void start () {
// Ditto.
public void stop () {
// Returns a one-member array with the SeekableInputStream.
public PullSourceStream[] getStreams () {
try {
// **** This seems to be the problem. ****
if (seekStreams != null) {
return seekStreams;
} else {
fatalError("sourceStreams was null! Bad kitty!");
return seekStreams;
} catch (Exception e) {
fatalError("Error in getStreams(): " + e);
return seekStreams;
// Duration abstract stuff. Since this is a theoretically endless stream...
public Time getDuration () {
return DataSource.DURATION_UNBOUNDED;
// Controls abstract stuff. No controls supported here!
public Object getControl (String controlName) {
return null;
public Object[] getControls () {
return null;
void fatalError (String deathKnell) {
System.err.println(":[ Fatal Error ]: - " + deathKnell);
throw new Error(deathKnell);
** end file SimpleVideoDataSource.java **
** begin file SeekableInputStream.java **
import java.lang.String;
import java.net.*;
import java.io.*;
import java.util.Properties;
import javax.media.*;
import javax.media.protocol.*;
/* The SeekableStream and DataSource tweaks are based on the code from
* jicyshout (jicyshout.sourcefourge.net), which was written by Chris Adamson.
* The code was simplified (no need for mp3 metadata here), cleaned up, then
* extended for our puposes.
/* This is an implementation of a SeekableStream which extends a
* BufferedInputStream to basically fake JMF into thinking that
* the stream is seekable, when in fact it's not. Basically, this
* will keep JMF from puking over something it expects but can't
* actually get.
public class SeekableInputStream extends BufferedInputStream implements PullSourceStream, Seekable {
protected int tellPoint;
public final static int MAX_MARK = 131072; // Give JMF 128k of data to "play" with.
protected ContentDescriptor unknownCD;
// Constructor. Effectively trivial.
public SeekableInputStream (InputStream in) {
super (in, MAX_MARK);
tellPoint = 0;
mark (MAX_MARK);
unknownCD = new ContentDescriptor ("unknown");
// Specified size constructor.
public SeekableInputStream (InputStream in, int size) {
super (in, Math.max(size, MAX_MARK));
tellPoint = 0;
mark(Math.max(size, MAX_MARK));
unknownCD = new ContentDescriptor ("unknown");
// Reads a byte and increments tellPoint.
public int read () throws IOException {
int readByte = super.read();
tellPoint++;
return readByte;
// Reads bytes (specified by PullSourceStream).
public int read (byte[] buf, int off, int len) throws IOException {
int bytesRead = super.read (buf, off, len);
tellPoint += bytesRead;
return bytesRead;
public int read (byte[] buf) throws IOException {
int bytesRead = super.read (buf);
tellPoint += bytesRead;
return bytesRead;
// Returns true if in.available() <= 0 (that is, if there are no bytes to
// read without blocking or end-of-stream).
public boolean willReadBlock () {
try {
return (in.available() <= 0);
} catch (IOException ioe) {
// Stick a fork in it...
return true;
// Resets the tellPoint to 0 (meaningless after you've read one buffer length).
public void reset () throws IOException {
super.reset();
tellPoint = 0;
// Skips bytes as expected.
public long skip (long n) throws IOException {
long skipped = super.skip(n);
tellPoint += skipped;
return skipped;
// Trivial.
public void mark (int readLimit) {
super.mark (readLimit);
// Returns the "unknown" ContentDescriptor.
public ContentDescriptor getContentDescriptor () {
return unknownCD;
// Lengths? We don't need no stinkin' lengths!
public long getContentLength () {
return SourceStream.LENGTH_UNKNOWN;
// Theoretically, this is always false.
public boolean endOfStream () {
return false;
// We don't provide any controls, either.
public Object getControl (String controlName) {
return null;
public Object[] getControls () {
return null;
// Not really... but...
public boolean isRandomAccess () {
return true;
// This only works for the first bits of the stream, while JMF is attempting
// to figure out what the stream is. If it tries to seek after that, bad
// things are going to happen (invalid-mark exception).
public long seek (long where) {
try {
reset();
mark(MAX_MARK);
skip(where);
} catch (IOException ioe) {
ioe.printStackTrace();
return tell();
// Tells where in the stream we are, adjusted for seeks, resets, skips, etc.
public long tell () {
return tellPoint;
void fatalError (String deathKnell) {
System.err.println(":[ Fatal Error ]: - " + deathKnell);
throw new Error(deathKnell);
** end file SeekableInputStream.java **
** begin file StreamingViewerApplet.java **
* This Java Applet will take a streaming video passed to it via the applet
* command in the embedded object and attempt to play it. No fuss, no muss.
* Based on the SimplePlayerApplet from Sun, and uses a modified version of
* jicyshout's (jicyshout.sourceforge.net) tweaks to get JMF to play streams.
* Use it like this:
* <!-- Sample HTML
* <APPLET CODE="StreamingViewerApplet.class" WIDTH="320" HEIGHT="240">
* <PARAM NAME="code" VALUE="StreamingViewerApplet.class">
* <PARAM NAME="type" VALUE="application/x-java-applet;version=1.1">
* <PARAM NAME="streamwidth" VALUE="width (defaults to 320, but will resize as per video size)">
* <PARAM NAME="streamheight" VALUE="height (defaults to 240, but will resize as per video size)">
* <PARAM NAME="stream" VALUE="insert://your.stream.address.and:port/here/">
* </APPLET>
* -->
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.lang.String;
import java.lang.ArrayIndexOutOfBoundsException;
import java.net.URL;
import java.net.MalformedURLException;
import java.net.*;
import java.io.*;
import java.io.IOException;
import java.util.Properties;
import javax.media.*;
import javax.media.protocol.*;
public class StreamingViewerApplet extends Applet implements ControllerListener {
Player player = null;
Component visualComponent = null;
SimpleVideoDataSource dataSource;
URL url;
MediaLocator ml;
Panel panel = null;
int width = 0;
static int DEFAULT_VIDEO_WIDTH = 320;
int height = 0;
static int DEFAULT_VIDEO_HEIGHT = 240;
String readParameter = null;
// Initialize applet, read parameters, create media player.
public void init () {
try {
setLayout(null);
setBackground(Color.white);
panel = new Panel();
panel.setLayout(null);
add(panel);
// Attempt to read width from applet parameters. If not given, use default.
if ((readParameter = getParameter("streamwidth")) == null) {
width = DEFAULT_VIDEO_WIDTH;
} else {
width = Integer.parseInt(readParameter);
// Ditto for height.
if ((readParameter = getParameter("streamheight")) == null) {
height = DEFAULT_VIDEO_HEIGHT;
} else {
height = Integer.parseInt(readParameter);
panel.setBounds(0, 0, width, height);
// Unfortunately, this we can't default.
if ((readParameter = getParameter("stream")) == null) {
fatalError("You must provide a stream parameter!");
try {
url = new URL(readParameter);
ml = new MediaLocator(url);
dataSource = new SimpleVideoDataSource(ml);
} catch (MalformedURLException murle) {
fatalError("Malformed URL Exception: " + murle);
try {
dataSource.connect();
player = Manager.createPlayer(dataSource);
} catch (IOException ioe) {
fatalError("IO Exception: " + ioe);
} catch (NoPlayerException npe) {
fatalError("No Player Exception: " + npe);
if (player != null) {
player.addControllerListener(this);
} else {
fatalError("Failed to init() player!");
} catch (Exception e) {
fatalError("Error opening player. Details: " + e);
// Start stream playback. This function is called the
// first time that the applet runs, and every time the user
// re-enters the page.
public void start () {
try {
if (player != null) {
player.realize();
while (player.getState() != Controller.Realized) {
Thread.sleep(100);
// Crashes... here?
player.start();
} catch (Exception e) {
fatalError("Exception thrown: " + e);
public void stop () {
if (player != null) {
player.stop();
player.deallocate();
} else {
fatalError("stop() called on a null player!");
public void destroy () {
// player.close();
// This controllerUpdate function is defined to implement a ControllerListener
// interface. It will be called whenever there is a media event.
public synchronized void controllerUpdate(ControllerEvent event) {
// If the player is dead, just leave.
if (player == null)
return;
// When the player is Realized, get the visual component and add it to the Applet.
if (event instanceof RealizeCompleteEvent) {
if (visualComponent == null) {
if ((visualComponent = player.getVisualComponent()) != null) {
panel.add(visualComponent);
Dimension videoSize = visualComponent.getPreferredSize();
width = videoSize.width;
height = videoSize.height;
visualComponent.setBounds(0, 0, width, height);
} else if (event instanceof CachingControlEvent) {
// With streaming, this doesn't really matter much, does it?
// Without, a progress bar of some sort would be appropriate.
} else if (event instanceof EndOfMediaEvent) {
// We should never see this... but...
player.stop();
fatalError("EndOfMediaEvent reached for streaming media. ewe ewe tea eff?");
} else if (event instanceof ControllerErrorEvent) {
player = null;
fatalError(((ControllerErrorEvent)event).getMessage());
} else if (event instanceof ControllerClosedEvent) {
panel.removeAll();
void fatalError (String deathKnell) {
System.err.println(":[ Fatal Error ]: - " + deathKnell);
throw new Error(deathKnell);
** end file StreamingViewerApplet.java **
Now, I'm still new to the JMF, so this might be obvious to some of you... but it's exploding on me, and crashing to desktop (both in IE and Firefox) with some very fun errors:
# An unexpected error has been detected by HotSpot Virtual Machine:
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x21217921, pid=3200, tid=3160
# Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode, sharing)
# Problematic frame:
# C 0x21217921
--------------- T H R E A D ---------------
Current thread (0x058f7280): JavaThread "JMF thread: com.sun.media.amovie.AMController@506411[ com.sun.media.amovie.AMController@506411 ] ( realizeThread)" [_thread_in_native, id=3160]
siginfo: ExceptionCode=0xc0000005, writing address 0x034e6360
(plenty more here, I can post the rest if necessary)
The problem seems to be coming from the "return seekStreams" statement in the first file; when I have execution aborted before that (with a fatalError call), it doesn't crash.
Any tips/hints/suggestions?

You should write your own Applet, where you can easily get the visual component (getVisualComponent())and show it directly in your Applet (you call it "embedded"). As far as I know, all examples (AVReceive* etc.) use the component which opens a new window.
Best regards from Germany,
r.v.

Similar Messages

  • .Mov files in CC : The File Has no Audio or Video Streams

    I recently updated premier to CC , since i have issues iimporting any .mov files at all.
    The specific ones Im trying for my current project are exports from AE , rendered lossless animation .mov , worked fine in CS6 , will play in quicktime and other generic's but always getting the The FIle Has no Audio or Video Streams message when trying to import into a project.
    Quicktime is updated so I can't understand why the won't play, is this a CC bug ?
    i go back to cs6 on my other comp they open fine...
    Ive seen a few topics on this none with a resolution and most of those where from cam's, this is an export from AE, anyone able to help this is stopping me from working atm ......
    troy

    I can verify that Apple screen recordings without audio do not import into any Adobe premeier.
    Details on screen recording from Gspot v2.70a:
    H.264
    qt  : Apple QuickTime (.MOV/QT)
    File Type: QuickTime (.MOV)
    Mime Type: video/quicktime
    Len: 1:03.083
    Frms: 1,521
    Qf: 0.153
    Frames/s: 20.000
    wx: 1280 x 800
    sar: 1.600 (8:5)
    However Apple (MAC OSX) screen recordings WITH audio will import.
    I would think this should be fixable with hotfixes...
    If you (adobe staff) have access to macbook pros 2012 or 2013 models, open quick time pro, do a screen recording, make sure no audio is recording, just your screen movements.. then export to 1080p video (mov is only option).. then on a windows PC try to import that file into adobe premiere. The file will play perfectly fine natively in windows with any player so long as a H264 decoder is available on that system... the problem here is Adobe Premiere. Not the users system.
    Edit:
    To help those with this issue.. just make sure when you render your mov that you have ANY kind of audio in it.. and just remove the audio track once imported into premiere. I know it's frustrating and you would think something as simple as not having an audio track wouldn't break premiere but alas... we have to work around the shortcomings until they decide to fix it.. just like the VFR issue in premiere.

  • Display a video stream (successives images)

    Hello!
    Thanks for looking after my post.
    I try to display a video stream (successives images) in Java component.
    With a simple swing component, it's not possible to display 25 fps for a 640x480 resolution.
    With SWT, we arrive to display about 15 fps for a resolution 640x480 but the use of the CPU is very important.
    Do you know an efficient system to display video stream?
    Thanks.

    Firstly if you're loading images with Toolkit you'll nbeed to use MediaTracker (see the Javadoc for full and clear instructions).
    Secondly, be aware of how long it takes to load image data, allocate the memory for it, and decode it. This is where you're going to suffer and it's the fundamental flaw in the plan of simulating video by flipping single frames: it's highly unlikely you'll manage it quickly enough. As above, 50ms is quite optimistic.
    You could do your loading up-front and buffer a load of images - there are a few strategies you could use for this. But bear in mind that (a) this is going to be very memory hungry, and (b) if your image load time is greater than your frame display time you're always going to be fighting a losing battle. But it should work for very small animations.
    Run yourself some tests: write yourself a simple test class which just loads an image in its main() method using a MediaTracker. It'll tell you how long loading the image takes. Of course, if you're doing it in an applet then you've got all sorts of other factors to consider and the load times will be high.

  • Poor Video Streaming.  Any tips?

    Hello everyone,
    My MacBook Pro really dosn't like treaming video.  Regardless if it's live feeds such as ESPN3 or preset videos from Yahoo/CSPAN etc.  Straeming HD content from sites such as HBO doesn't work too well either.  The only one that works well is Netflix but not always. 
    I think I have a fast WiFi connection.  When I do the speed test it's alwasy in the 6-8 Mbps range and sometimes 10Mbps.  I have an Airport Express and for everything else it works well (downloading music, podcast, surfing, updates, etc).  I have the automatic graphic switiching turned off so it's always using the high preformance graphics and my flash player is up-to-date.  
    Thank you so much for any help.  I really apprecate it. 
    best

    Hello mikeswitzer. Welcome to the Apple Discussions!
    As you have already figured out poor signal strength equals poor bandwidth performance. This, of course, will be noticeable for both audio and video streaming.
    I suggest downloading a copy of iStumbler. Use iStumbler's Inspector feature (select Edit > Inspector from iStumbler's menu) to determine the Signal-to-Noise Ratio (SNR) at different points around your house, by performing a simple RF site survey. Within the Inspector, note the values for "signal" & "noise" at these locations. Start with your MacBook near the Time Capsule (TC), note the readings, and then, go to the location where you currently have the Mac Mini.
    SNR is the signal level (in dBm) minus the noise level (in dBm). For example, a signal level of -53dBm measured near an access point and typical noise level of -90dBm yields a SNR of 37dB, a healthy value for wireless LANs.
    The SNR, as measured from the MacBook, decreases as the range to the base station increases because of applicable free space loss. Also an increase in RF interference from microwave ovens and cordless phones, which increases the noise level, also decreases SNR.
    SNR Guideline
    o 40dB+ SNR = Excellent signal
    o 25dB to 40dB SNR = Very good signal
    o 15dB to 25dB SNR = Low signal
    o 10dB to 15dB SNR = Very low signal
    o 5dB to 10dB SNR = No signal
    If the SNR is 20dB+ at the Mac Mini, then you should be getting reasonable performance from your TC. If less, either try to locate the source of the Wi-Fi interference or try relocating either the TC or the Mac Mini until they are within a 20dB SNR range.
    Another option is to utilize a transceiver on the Mac Mini to try to increase the Mini's built-in AirPort antenna ability to pick up the signal from the TC. One vendor that provides these is QuickerTek.

  • P2p video streaming using jmf (is it possible to "forward" the stream ?)

    Hello
    In my project a peer will start streaming captured video from the webcam to his neighbors and then his neighbors will have to display the video and forward(stream) it to their neighbors and so on . So my question is can i do this using jmf , a simple scenario will be : peer_1 streams to peeer_2 and then peer_2 to forward(stream) the video received from peer_1 to peer_3 .
    I've read the jmf2_0 guide and i've seen that it's only possible to stream from a server to a client and that's about it , but i want also the client to pass the stream forward to another client ... like for example [http://img72.imageshack.us/img72/593/p2pjmf.gif|http://img72.imageshack.us/img72/593/p2pjmf.gif]
    I want to know at least if this it's possible with jmf or should i start looking for another solution ? and do you have any examples of such projects or examples of forwarding the stream with jmf ....
    thanks for any suggestions

    _Cris_ wrote:
    I want to know at least if this it's possible with jmf or should i start looking for another solution ? and do you have any examples of such projects or examples of forwarding the stream with jmf .... You can do what with JMF. Once you receive the stream, it's just a video stream. You can do anything you want with it...display it, record it, or send it as an RTP stream.

  • I get a BSOD whenever I watch a video stream and try to do something else

    So I bought myself a new computer a few days ago and since that day, I've already experienced 5 or 6 BSODs when using Firefox. Whenever I'm watching a video stream or YouTube and I open a GPU-related application like Asus GPU Tweak, I hear buzzing in my headphones and the screen freezes so that the only solution is hard reset or I get a BSOD. Same happens when I open multiple video-related sites with a plugin running on each (seems to be irrelevant if it's flash- or HTML5-based). I am sure it's Firefox related because I've been able to recreate this bug every time by opening a stream in one tab, any other page in the other and then starting the app - freeze every time. On Chrome, for example, this problem doesn't happen, though. As for the plugins, I use Pocket, Lazarus and Reddit Enhancement Suite. What may be causing the problem? I checked both with hardware acceleration turned on and off.
    My info, if it's of any importance:
    Asus R9 290, Windows 7, newest Firefox, 2560x1080 resolution.

    Question: When you refer to an app here --
    ''I've been able to recreate this bug every time by opening a stream in one tab, any other page in the other and then starting the app - freeze every time.''
    -- is that a completely unrelated application outside of Firefox, or something in another Firefox window or tab?
    If you have not already tried disabling the protected mode feature of the Flash plugin, the following pages/posts provide different ways to do that:
    * Adobe support article under the heading "Last Resort": [http://forums.adobe.com/message/4468493#TemporaryWorkaround Adobe Forums: How do I troubleshoot Flash Player's protected mode for Firefox?]
    * Manual steps: https://support.mozilla.org/questions/968190?page=5#answer-509209
    * Batch file to automate the manual steps: https://support.mozilla.org/questions/982093#answer-518078
    Flash needs to completely unload from memory (restarting Firefox might help) before this would take effect.

  • Very poor video streaming from youtube

    I cannot watch a single video from youtube or any other site. I have OS v6.0.0.522. Is there anything i can do?? It will play a video for a few seconds then just starts to buffer. I have a BB 3G 9300 with Sprint

    Hello mikeswitzer. Welcome to the Apple Discussions!
    As you have already figured out poor signal strength equals poor bandwidth performance. This, of course, will be noticeable for both audio and video streaming.
    I suggest downloading a copy of iStumbler. Use iStumbler's Inspector feature (select Edit > Inspector from iStumbler's menu) to determine the Signal-to-Noise Ratio (SNR) at different points around your house, by performing a simple RF site survey. Within the Inspector, note the values for "signal" & "noise" at these locations. Start with your MacBook near the Time Capsule (TC), note the readings, and then, go to the location where you currently have the Mac Mini.
    SNR is the signal level (in dBm) minus the noise level (in dBm). For example, a signal level of -53dBm measured near an access point and typical noise level of -90dBm yields a SNR of 37dB, a healthy value for wireless LANs.
    The SNR, as measured from the MacBook, decreases as the range to the base station increases because of applicable free space loss. Also an increase in RF interference from microwave ovens and cordless phones, which increases the noise level, also decreases SNR.
    SNR Guideline
    o 40dB+ SNR = Excellent signal
    o 25dB to 40dB SNR = Very good signal
    o 15dB to 25dB SNR = Low signal
    o 10dB to 15dB SNR = Very low signal
    o 5dB to 10dB SNR = No signal
    If the SNR is 20dB+ at the Mac Mini, then you should be getting reasonable performance from your TC. If less, either try to locate the source of the Wi-Fi interference or try relocating either the TC or the Mac Mini until they are within a 20dB SNR range.
    Another option is to utilize a transceiver on the Mac Mini to try to increase the Mini's built-in AirPort antenna ability to pick up the signal from the TC. One vendor that provides these is QuickerTek.

  • Using Labview to process a video stream and detect a color range

    My boss has challenged me to come up with a solution to an interesting problem.  He wants to know if we could drive a vehicle around with a camera mounted on top pointing at various angles from the horizon and up and then process the video to determine how often we are seeing the sky and how often we are seeing a building or some other "blockage".
    I currently have the Full development version and I told him we would probably need the NI Vision module but maybe someone can suggest another tack or at least tell me if I'm on the right direction.
    Don Lafferty

    Hello friends, I can receive the video stream in my laptop but I only can show noise. Maybe the problem is the type of image or the order of the data (as far as I know It is jpeg format with 320x240 pixels, 24 bits).
    I discovered that images' size changes dinamically (they are not fixed to 320x240=76800 pixels) due to the jpeg compression. Bu It is not a problem, because I basically assemble the data packets arriving over TCP/IP and identified by headers ("Content-Type:" and "Length-Type:"). I am discarding the content-type & content-lenght headers. After this
    I convert the string into a byte array and once I have the byte array, I plug it into a picture indicator (but only white noise).
    I didn't try IMAQ ArrayToColorImage function because it needs a 2D array to is input terminal (vertical and horizontal axis) but I only have available a 1D byte array from my input string. How can I convert it to 2D? I don't know if it is the correct direction or I am away.
       I hope I can attach the VI this time.
    Thanks.
    Attachments:
    Simple Data Client.vi ‏39 KB

  • QT 7.6: Half of the HD H.264 video stream is grey ( QT 7.5.5 works fine )

    Hi,
    I have a problem while playing video from:
    http://83.170.73.198/IvTattooHD.sdp
    Lower half of the video is grey when playing using QT 7.6 but it's displayed correctly by QT version 7.5.5.
    This video uses I and P slices and each slice is sent in two fragments - halves of the image. Upper half displays correctly but the lower one displays correctly I-slices only. P-slices are painted over the grey background instead of the I-slices. If the stream contains I-slices only, everything is ok.
    The video stream is streamed using Darwin streaming server, but the same problem occurs when I play video directly from the camera.
    Video is also played correctly when the payload is stored using e.g. Wireshark.
    Is it bug in new QT or is there something wrong with my stream?
    Thanks for your help.

    We had also another problem with this stream previously. Maybe it is related to this one.
    The problem was that QT 7.5.5. QT expected the number of reference frames to be set to 2 even if there is actually one reference frame only (but composed of two half-frames). This bug caused that the lower half of the image has not been painted correctly and also caused a memory leak and crash of QT.
    It seems to be fixed now in QT 7.6 - memory consumption seems to be stable, but the second half of the reference frame is still not stored/reused for P-slice rendering.

  • Playing video streaming

    I begin to implement a video chat in java. I used JMF for capturing video streaming from a digital camera and RTP protocol for transmiting the video stream. I want to play the stream into an Applet (so on the client side). I don't want to use jmf on client side (an RTP Applet Player or something like this) because this means that the client needs to instal the JMF package. I need a solution to play the stream stream into an applet but I want that the client don't need to instal any software. I can use anything on server side (from where I transmit)...Is this possible? Please help me. Thank you.

    I've only done some web cam capturing code, but I thought you only need the "performance pack" of JMF installed on a machine if you want to perform capturing.
    So, maybe you can still use JMF in an applet without a formal installation on the client pc.
    Just itry ncluding the jmf.jar and any CODEC class files necessary to replay your video stream ?
    It's worth a shot... although someone may very well correct me on this.
    regards,
    Owen

  • Advantages of JMF in video streaming

    Hi,
    Video conferencing can be done by many methods but why JMF is used for video/audio streaming
    what are its advantages? and Also what are its disadvantages?
    Is there any other better way to do video conferencing ?
    Please give details regarding the current scenario of JMF in video streaming.
    thanx

    Video conferencing can be done by many methods but why JMF is used for video/audio streaming
    what are its advantages?It has RTP built-in, handles a handful of the most basic codecs, there is decent documentation for it...is written in Java... easily extendible for new codec support...
    what are its disadvantages? It hasn't been updated or supported in 7 years... Windows 2000 was the last supported operating system... has bugs which will never be fixed... only supports a handful of low-bandwidth formats for streaming...
    Is there any other better way to do video conferencing ? Yeah, tons...the best alternative right now would probably be with Adobe Flex technology, but JavaFX and Silverlight will both have audio & video capturing / streaming capabilities soon...

  • Please help with video streaming

    I'm trying to play a video on a web page. I got the below
    script from
    a website tutorial, but it does not work correctly. The
    script will
    play a video in both IE and firefox browsers, but in IE, it
    will not
    show the video player controls even though I have added more
    than
    enough height.
    <OBJECT ID="MediaPlayer" WIDTH="208" HEIGHT="300"
    CLASSID="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
    STANDBY="Loading Windows Media Player components..."
    TYPE="application/x-oleobject">
    <PARAM NAME="FileName" VALUE="videofilename.wmv">
    <PARAM name="autostart" VALUE="true">
    <PARAM name="ShowControls" VALUE="true">
    <param name="ShowStatusBar" value="false">
    <PARAM name="ShowDisplay" VALUE="false">
    <EMBED TYPE="application/x-mplayer2"
    SRC="videofilename.wmv"
    NAME="MediaPlayer"
    WIDTH="208" HEIGHT="300" ShowControls="1" ShowStatusBar="0"
    ShowDisplay="0" autostart="1"> </EMBED>
    </OBJECT>

    That is an older site but there is a lot of information there
    8)
    John Malone
    =========
    "Canned Heat" <[email protected]> wrote in message
    news:[email protected]...
    |A followup. The site you linked to (mediacollege) does have
    a wealth
    | of info. However, for anybody else reading this post I did
    want to
    | point out that it is the same site is where I got the
    script (in my
    | original post) that didn't work. It was located here:
    |
    |
    http://www.mediacollege.com/video/format/windows-media/streaming/index.html
    |
    | So I would recommend using Joh's much simpler script, not
    the one from
    | mediacollege referenced above.
    |
    | Again, thanks John.
    |
    |
    |
    | On Fri, 23 Mar 2007 11:06:56 -0500, "John Malone" <John
    Malone@no
    | spam.com> wrote:
    |
    | >Well I couldn't get it to work in IE7..
    | >And you get the prompt to "click here to activate this
    control"
    | >here is a sample >
    | >
    | >
    http://www.xmas-i-am.com/test/video2.htm
    Autoplay when page loads.
    | >
    | >If you look at the source code on the page you will see
    I am using an external script
    | >file...
    | >This takes care of the outlined player (in IE) with the
    prompt to "click here to
    | >activate".
    | >By changing the script you can load the page without
    starting the movie.
    | >
    | >Like this..>
    | >
    http://www.xmas-i-am.com/test/video.htm
    | >
    | >Steal the code and the script (test.js or auto.js) and
    your good to go...
    | >
    | >Or look at .....>
    | >
    | >
    http://www.midistudio.com/MPlayer9/index.htm
    | >and read how......
    | >This is mostly for MIDI music but can work with video
    with minimal modifications.
    | >
    | >Also here is a good site...
    | >
    http://www.mediacollege.com/video/streaming/formats/
    | >You will need to follow the links>> to get a
    wealth of information.
    | >
    | >Hope this helps...
    | >
    | >Just an after thought...
    | >
    | >Beware of bandwidth limitations of your site this could
    cost you money!!!
    | >
    | >On that sample site(at the top) is a movie (1.3 Megs)
    that is viewed enough to cause
    the
    | >usage to be about 3 Gigs a month. (now)
    | >But at times (September) that goes up to 10~20 Gigs and
    at it's peak I had 17 Gigs a
    week
    | >usage.
    | >(It is the 911 Flash movie)
    | >
    | >Hope this helps......
    | >
    | >John Malone
    | >===============
    | >"Canned Heat" <[email protected]> wrote in message
    | >news:[email protected]...
    | >| Thanks for taking the time to test it. I want to make
    sure, tho, that
    | >| we're not talking about two different things.
    | >|
    | >| The script plays videos fine for me too. However, the
    problem is that
    | >| when playing with IE the video controls such as play,
    pause, etc are
    | >| not displayed.
    | >|
    | >| When you played it did you see the controls in IE?
    | >|
    | >| I have tested it on three machines, ones with the
    same IE version as
    | >| yours, and I get no controls. I only see the controls
    in firefox.
    | >|
    | >| Thanks,
    | >| -Dan
    | >|
    | >|
    | >| On Thu, 22 Mar 2007 15:48:02 -0500, "Eugene J. Maes"
    | >| <[email protected]> wrote:
    | >|
    | >| >Your script works fine in ie 6 with my wmv file.
    | >| >
    | >| >gene
    | >| >"Canned Heat" <[email protected]> wrote in
    message
    | >|
    >news:[email protected]...
    | >| >> I'm trying to play a video on a web page. I
    got the below script from
    | >| >> a website tutorial, but it does not work
    correctly. The script will
    | >| >> play a video in both IE and firefox
    browsers, but in IE, it will not
    | >| >> show the video player controls even though I
    have added more than
    | >| >> enough height.
    | >| >>
    | >| >> <OBJECT ID="MediaPlayer" WIDTH="208"
    HEIGHT="300"
    | >| >>
    CLASSID="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
    | >| >> STANDBY="Loading Windows Media Player
    components..."
    | >| >> TYPE="application/x-oleobject">
    | >| >> <PARAM NAME="FileName"
    VALUE="videofilename.wmv">
    | >| >> <PARAM name="autostart" VALUE="true">
    | >| >> <PARAM name="ShowControls"
    VALUE="true">
    | >| >> <param name="ShowStatusBar"
    value="false">
    | >| >> <PARAM name="ShowDisplay"
    VALUE="false">
    | >| >> <EMBED TYPE="application/x-mplayer2"
    SRC="videofilename.wmv"
    | >| >> NAME="MediaPlayer"
    | >| >> WIDTH="208" HEIGHT="300" ShowControls="1"
    ShowStatusBar="0"
    | >| >> ShowDisplay="0" autostart="1">
    </EMBED>
    | >| >> </OBJECT>
    | >| >
    | >|
    | >
    |

  • How to take advantage of H.264 video streaming of webcam BCC950

    We used flex 4.6 to develop an web app using Logitech webcam of BCC950, We used Graphedit of Directdraw to know BCC950 has pin 0 to support i320,RGB24,and mjpg stream, and pin 3 to support H.264 stream. We also set h264videostreamingsettings in as code to ask for H.264 data directly from the webcam, but from the CPU consuming we can judge flash player only fetch pin 0 uncompressed data instead of H.264 data directly. We need to take advantage of BCC950 H.264 support to get webcam hardware compressed H.264 streaming data to avoid compression by CPU/software. As we know flash does not give programmers choice to define the pin to get data, then what we need to do to make sure we can get H.264 video stream from the webcam directly? thanks. Henry

    ...well I did follow that article on playing an h264/mpeg4
    video in flash. It works well, but how would you add playback
    controls?
    FLVPlayback component only allows you to source an FLV video
    not h264/mpeg4.
    This is probably a simple as3 answer...but I am not
    knowledgeable on as3 to know what code to add.
    Any suggests or direction that I should look would be great.
    In the meantime I am researching actionscript 3 to find and anwer.
    E.

  • Broadcast the Video stream..

    I am now designing a long-distance monitoring system.Any one in the Lan can download host's Applet and obtain the Video stream. I used Studio to try it first, but it only works from point to point, that is the host must set the destination IP.but other pc can not receive the video stream.I think it would be the "Push" technology.
    So how can I realize the all pc in the Lan can receive the vedio stream?
    Thanks in advance.

    Try setting the IP address of broadcast to xxx.xxx.xxx.255 that will enable all computers to recive the stream on the LAN.

  • Jerky Video Streaming

    Since upgrading to Leopard I've moved all my video files (movies) to an external hard drive connected to a Mac Mini. Most are ripped movies from DVDs. With Leopard file sharing I can wirelessly access the hard drive connected to the Mini from my iBook and watch a movie on my iBook with DVD Player. It actually streams pretty well (better than I thought) but does have frequent and annoying stuttering of the video stream. I was wondering if there are any system settings I could tweak to minimize the jerky playback.

    Use the following as a guideline for streaming video over a wireless network:
    o For 4801i SDTV Quality Video: 2 to 5 Mbps (802.11b/a/g/n)
    o For 480p DVD Quality Video: 6 to 8 Mbps (802.11a/g/n)
    o 720p/1080i HDTV Quality Video: 18 Mpbs+ (802.11a/g/n)
    o 1080p HDTV Quality Video: 20 Mbps+ (802.11n)
    So, if you're getting the full bandwidth (54 Mbps) with your AirPort Express Base Station (AX), you should get relatively good performance streaming everything up to 720p/1080i HDTV media. Beyond that would be iffy. The problem is that it is highly unlikely that you are getting 54 Mbps due to either free space loss or some form of Wi-Fi interference. Typically, your 802.11g wireless network would realistically get around 15-20 Mbps on average.
    It is very possible that you may have some form of Wi-Fi interference in the immediate area that is preventing your AX from getting a good clean signal.
    I suggest you perform a simple site survey, using utilities like MacStumbler or iStumbler to determine potential areas of interference, and then, try to either eliminate or significantly reduce them where possible. This should result in better video (& audio) streaming performance.

Maybe you are looking for

  • Pdf reader requirements for forms designed in Livecycle

    HI guys, I have designed a few dynamic pdf forms that was developed using Livecycle Designer ES. These forms are online fillable forms and I will be uploading these on my site so my users can open these forms in their browsers, complete the form onli

  • Free Scheme

    am defining criteria for free goods determination using transaction VBN1. My requirement is as follows : When I am creating a sales order for a material M1 quantity is 10 units. System should give 2 units free on this 10 units. But when I create a sa

  • Time and date on the laptop is not in accordance with the current.

    1. Product Name and Number HP G42-360TX 2. Operating System installed (if applicable) Windows 7 64-bit 3. Error message (if any) Time and date on the laptop is not in accordance with the current 4. Any changes made to your system before the issue occ

  • Print a single page

    I have downloaded a document from the web that has 55 pages. I only need to print 1 page (page 10). How can I do this?

  • EUPEXR Summary Discrepancy between SAP & Bank for Zero-Decimal Amounts

    We're producing this idoc (EUPEXR) as a summary of a batch of PAYEXT. The problem we have is that the way SAP summarizes the amounts and the way the bank summarizes is different. It appears that they are using the raw database data. For example, Amou