Thanks for the reply.
Josiah Carlson wrote:
>
>> I'm wondering if it is feasible to use wx.media.MediaCtrl for video
>> streaming and video conferencing applications.
>>
>> The problems I see are the following:
>>
>> * The Load() function takes the name of a file. Clearly it would be
>> more general for it to optionally take an open file object instead.
>> * The Load() function seems to block.
>> * No method for tracking the amount of queued up data.
>>
>> Are there solutions to these issues?
>>
>
> I don't know. I wouldn't use that particular approach.
>
What approach would you use?
The image-based approach I described.
>> Can anyone recommend alternative approaches?
>>
>> I also need a cross-platform method for using webcams.
>>
>
> Do you have a way of capturing images from the webcams? If so, then you
> can encode that image as a jpg, png, etc., transmit it to another
> machine, and display the image.
>
I need live streaming video, not pictures.
A movie is merely pictures moving fast enough to suggest motion. The
only thing that using a movie will get you is that you *may* get better
compression using a movie-based codec.
You can emulate much of the same stuff by knowing the previous image,
subtracting the new image, and sending the difference. I've not done
statistical tests on this, but for many webcam-like applications, you
would save huge amounts of data.
> My experience (at least 4 1/2 years ago) says that you can use the
> VideoCapture module to get webcam images on Windows. I don't know what
> is available on other platforms.
>
> - Josiah
>
Yeah, I would love to know what's available on other platforms. It
would be nice to merge all of them to make a platform independent version.
The VideoCapture samples seem to be all single pictures (and several
links are broken). Anyone know if VideoCapture does /video/?
I don't believe so. Then again, I don't believe *any* native webcam API
does video - it's all application level from what I understand. Using
VirtualDub (on Windows), you can capture the images (and microphone
input) as video, which you may or may not be able to send to other
applications (or the network) via frame serving (but that's a
high-bandwidth solution).
On *nix, you could just redirect it to a unix domain socket to get the
content live, and redirect that to other machines however you want. I
don't know if it is possible to hack VirtualDub to do an equivalent
thing on Windows.
- Josiah
···
Ken Seehart <ken@seehart.com> wrote:
> Ken Seehart <ken@seehart.com> wrote: