[gst-devel] A problem to generate H.264 file for Asterisk by GStreamer

Chih-Wei Huang cwhuang at linux.org.tw
Fri May 25 15:18:46 CEST 2007

Hi guys,
This is a cross-post to asterisk-video, gstreamer-devel and x264-devel.
I think the subject is related to these mailing lists.
(Since I haven't subscribe all the lists yet, please CC your post to me. Thanks a lot!)

I'm trying to use GStreamer to generate .h264 file for Asterisk to playback.
The test environment is

The OS: Fedora Core 6, with updates rpms.
Asterisk: 1.4.4
GStreamer: core and all plugins from CVS 20070511
x264: 20070322
ffmpeg: 20070514

I use the command to generate the files for Asterisk:

gst-launch filesrc location=myfile.mp4 ! decodebin name=demux ! videoscale !
 video/x-raw-yuv,width=352,height=288 ! x264enc bitrate=128 byte-stream=1 ! rtph264pay !
 asteriskenc ! filesink location=test.h264 demux. ! queue ! audioconvert ! audioresample !
 audio/x-raw-int,rate=8000,channels=1 ! gsmenc ! filesink location=test.gsm

where asteriskenc is a plugin of GStreamer written by me, which could
convert an H.264 RTP stream into Asterisk format. It's based on asteriskh263.
All the other elements are standard GStreamer plugins.

The .h264 file did be generated. No significant error is found.
Then I used soft-phone eyeBeam 1.5.7 and PortSIP 3.12 to test it.
I had Asterisk play the .h264 file by Background command.
>From the ethereal log, I did see H.264 RTP packets are sent from Asterisk.
However, there is *no video* on the softphone. OOPS!

On the other hand, I'm sure the H.264 support of Asterisk is fine.
I can use Record command to record the H.264 video from eyeBeam
and play it back.

What's wrong with it? Does it mean the stream generated by x264
is *not compatible* with eyeBeam or PortSIP?
I see the plugin x264enc has many parameters.
Do I need to specify some them?

Suggestions or hints are welcome!

Best Regards,

More information about the gstreamer-devel mailing list