This project is read-only.

Conference XP - Supporting modern audio and video codecs

Topics: Developer Forum, User Forum
Mar 14, 2013 at 7:27 PM
Looking through the code seems like there is not much out of the box support for newer video and audio codecs.

The default codecs are fairly old - Apart from the trans-coder which seems to rely on windows media specific technologies it seems like it should be fairly easy to incorporate modern codecs (say VP8/9 for Video - Speex\CELT\Opus for Audio).

Does anyone have any experience using non windows media codecs in CXP?

ATB
HD
Mar 14, 2013 at 8:11 PM
The one I personally have some experience with is x264. Here are some notes here that describe experiments I did:
http://cct.cs.washington.edu/project-wiki/index.php/HD_Blackmagic

There's also one person I know who has done work with mjpeg:
http://cct.cs.washington.edu/project-wiki/index.php/HD_Webcams

There are some users (non-programmers) who I believe have a strong a interest in being able to try other codecs, so if you do end up doing work in this area, please report back.

Cheers,
Fred
fred<at>cs.washington.edu
Mar 14, 2013 at 8:37 PM
Thanks for the pointers to the wiki. They are helpful.

They both seemed to be geared towards higher resolution - a lot of what I was looking at is low latency and better error resilience.
I imagine supporting VP8 et al would probably help with higher resolution as well as the latency and resilience.
There are some users (non-programmers) who I believe have a strong a interest in being able to try other codecs, so if you do end up doing work in this area, please >report back.
Will do. I already have made some headway with the audio side of things. I will get back in a few days about with the results of my experiment.

Regards
HD
Mar 15, 2013 at 1:54 AM
Edited Mar 15, 2013 at 2:05 AM
My experience with X264 VFW is still in a state of flux. I can get it to work very well with reasonable latency between some computers, but others have problem decoding it. Will be testing further with both the Microsoft default decoding codec (DTV) and LAV filters which have given the best latency with some computers, but not others. Merit setting doesn't always work and I need to figure out a reliable way to make sure the decoding codec being used by CXP is the one we want.

I tried 3 VP8 filters but none of them gave acceptable results. Latency wasn't acceptable, and CPU usage was mostly on the high side. But there is one VP8 filter that requires inputting all the settings manually, and I have not found the correct settings for it as yet, but there may be some suggestions out there on the web I haven't found. There are several "flavors" out there, maybe there is one that might work well. However, let's make sure to look at the patent issues which have been on the news recently about Google and WebM/VP8.

We will also be testing the hardware H264 (as well as the MJPEG) output from the newer C920 Logitech webcam. The experiement with the Vienna Internet2 conference apparently displayed problems with the sync between audio and video, as it appears that those codecs can "drift" a bit. Much more eperimentation is needed to figure out if the drifting shown is really a codec problem or a network lag of some sort.

We are planning on getting a couple of new computers which will be initially used only for the purpose of testing CXP. The results should be much more useful than trying this with computers that have several other software installed. We will try to tweak those computers so as to make them as lean as possible, and I think only that way will we be able to separate the different issues from each other. It appears to me that networking settings and network card settings can interfere more when using these codecs than with the "normal" use of CXP with the original codecs, so testing with good methodology starting from fresh, lean Windows installs seems to me the best way to try to sort out what the best settings might be.

FWIW, I have managed to run X264 overnight between two computers with little or no drifting at around 5Mbps video and uncompressed audio. Was not able to send that stream to Vienna during the conference, even though it appeared to have worked well a few days previously during testing. Need to urgently figure out why this setting does not work reliably with some hardware/networks. Any ideas on this are very welcomed!

Thanks,

Jose Feghali
Mar 24, 2013 at 2:58 AM
Update:

X264 decoding appears to work well without the need for LAV filters. If one uses the X264 fourcc on the sender side, and the X264 VFW codec is installed on the receiver, it looks like IntelligentConnect uses the X264 VFW decoder via the AVI Decompressor. The "test video" option shows the picture on the sender but it freezes on many machines after a while (however, it doesn't on the receiver). Sometimes, on some receiving machines, maximizing the picture to full screen can also freeze or distort the video.

The tests I was doing gave mixed results, partially (apparently) because I was using some older computers. Testing with newer machines appears to be more reliable, but more testing needs to be done.

JF
Jul 23, 2013 at 10:14 PM
Jose Feghali - I am shocked to see you are still using ConferenceXP. Makes me so proud!
Jul 24, 2013 at 1:48 AM

From: Jose Feghali

Jason,

Are you kidding?? Approaching 100 lessons with it. On top of that, we now have HD and X264 capabilities, and last week Fred pushed a build to the repo which includes the Opus audio codec. There is a lot of life left in it AFAIAC!

Jul 24, 2013 at 10:37 PM
That is awesome to hear! Keep it up!