tests/examples/rtp/server-decodebin-H263p-AMR.sh: Add example RTP transcoding pipelin...
authorWim Taymans <wim.taymans@gmail.com>
Fri, 2 Jan 2009 16:31:13 +0000 (16:31 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 2 Jan 2009 16:31:13 +0000 (16:31 +0000)
Original commit message from CVS:
* tests/examples/rtp/server-decodebin-H263p-AMR.sh:
Add example RTP transcoding pipeline from any file decodedable with
uridecodebin.

ChangeLog
tests/examples/rtp/server-decodebin-H263p-AMR.sh [new file with mode: 0755]

index a13169c..bdfdaed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2009-01-02  Wim Taymans  <wim.taymans@collabora.co.uk>
 
+       * tests/examples/rtp/server-decodebin-H263p-AMR.sh:
+       Add example RTP transcoding pipeline from any file decodedable with
+       uridecodebin.
+
+2009-01-02  Wim Taymans  <wim.taymans@collabora.co.uk>
+
        * tests/examples/rtp/.cvsignore:
        * tests/examples/rtp/Makefile.am:
        * tests/examples/rtp/client-PCMA.c: (pad_added_cb), (main):
diff --git a/tests/examples/rtp/server-decodebin-H263p-AMR.sh b/tests/examples/rtp/server-decodebin-H263p-AMR.sh
new file mode 100755 (executable)
index 0000000..6863728
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# A simple RTP server 
+#
+# Transcodes and streams audio and video to H263p and AMR respectively from any
+# file that is decodable by decodebin.
+#
+# use ./client-H263p-AMR.sh to receive the RTP stream.
+#
+
+# change these to change the server sync. This causes the server to send the
+# packets largly out-of-sync, the client should use the RTCP SR packets to
+# restore proper lip-sync between the streams.
+AOFFSET=0
+VOFFSET=0
+
+VCAPS="video/x-raw-yuv,width=352,height=288,framerate=15/1"
+
+# video and audio encoding and payloading
+VENCPAY="ffenc_h263p ! rtph263ppay"
+AENCPAY="amrnbenc ! rtpamrpay"
+
+# video conversion 
+VCONV="ffmpegcolorspace ! videoscale ! videorate ! $VCAPS ! ffmpegcolorspace"
+
+ACONV="audioconvert ! audioresample"
+
+#HOST=192.168.1.126
+HOST=127.0.0.1
+
+gst-launch -v gstrtpbin name=rtpbin \
+           uridecodebin uri="$1" name=decode \
+           decode. ! $VCONV ! $VENCPAY ! rtpbin.send_rtp_sink_0      \
+                     rtpbin.send_rtp_src_0 ! queue ! udpsink host=$HOST port=5000 ts-offset=$AOFFSET      \
+                     rtpbin.send_rtcp_src_0 ! udpsink host=$HOST port=5001 sync=false async=false         \
+                     udpsrc port=5005 ! rtpbin.recv_rtcp_sink_0                                           \
+           decode. ! $ACONV ! $AENCPAY ! rtpbin.send_rtp_sink_1                         \
+                    rtpbin.send_rtp_src_1 ! queue ! udpsink host=$HOST port=5002 ts-offset=$VOFFSET      \
+                    rtpbin.send_rtcp_src_1 ! udpsink host=$HOST port=5003 sync=false async=false         \
+                     udpsrc port=5007 ! rtpbin.recv_rtcp_sink_1