[Theora-dev] Problems with Theora DirectShow filters
Robert Huitl
theora-dev at huitl.de
Tue Sep 14 09:30:16 PDT 2004
Hi,
I'm trying to capture video and audio from a webcam in order to encode it with
the Theora and Speex DirectShow-filters. For audio, this filter graph plays
fine: http://www.huitl.de/mic-speexenc-speexdec-out.png.
The video part is problematic. Please have a look at
http://www.huitl.de/cam-theoraenc-theoradec-out.png.
1. The webcam provides the color formats RGB24, I420 and IYUV. The Theora
encode filter only accepts YV12, so I can't just connect the webcam capture
pin with theora's yv12-in.
2. The "Color Space Converter" can't do the conversion to YV12.
3. I found that the ffdshow raw video filter should be able to do this
conversion (although I'd like to have no dependencies other than Theora and
Speex).
4. When I render the Theora decode filter's output pin, DirectShow attaches an
AVI decompressor, a color space converter and finally the video renderer.
5. I cannot play the filter graph. When trying to do so, GraphBuild shows:
"This graph can't play", return code 0x80070000.
6. I tried to replace the AVI decompressor and the color space converter with
another ffdshow raw video filter. When I connect the ffdshow-filter's output
with the video renderer, GraphBuild crashes:
http://www.huitl.de/cam-theoraenc-theoradec-ff-out.png
I'd appreciate any help doing this:
1. Capture video from the webcam and encode with Theora.
2. Access the encoded video data in order to send it over a network.
3. Feed data received over a network to the Theora decoder, which in turn
should pass it to a video renderer.
Used versions:
- oggcodecs_XP_0.63.7755
- ffdshow-20040828
- DirectX 9.0b + SDK 9.0b
Regards,
Robert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/theora-dev/attachments/20040914/f2d9194b/attachment.pgp
More information about the Theora-dev
mailing list