[Libav-user] Sending H.263 over RTP

Miguel Brito miguelandres77 at hotmail.com
Tue Nov 6 23:42:16 CET 2012

Hi everyone!

I'm streaming video in H263/RTP using libav on Windows. Here's what i'm doing: 

First i initialize my output format (with "rtp") and codec H263/H263p (CODEC_ID_H263P or CODEC_ID_H263 passed to avcodec_find_encoder), then I start a loop to capture the video from the webcam (using OpenCV) and turn the frame to an AVFrame to finally encode and write (send it).

My problem is that i want (and i need) the stream to be in H263 (1996) or H263+ (1998), but no matter what i pass to avcodec_find_encoder i get an RTP in H263++ (2000) .

At least the only way to demux it is including "a=rtpmap:96 H263-2000/90000" in the receiver's SDP.

In RFC 4629 i read that H263 is a subset of H263+ and H263++ so i guess there must be a way to send it using those codecs, is there a way? or i may be missing something?

PS: one thing that confuses me is that when i try to send a video with an incorrect resolution for H263 it does complain about it, but with correct sizes it sends it in H263++ anyway.


More information about the Libav-user mailing list