Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Updated parameters for PENC payload size and data rate.

  • Loading branch information...
commit 1d3770e50ef262a794cb00e52474a3a1ed33045c 1 parent b00ac0b
Alexandru Csete authored
Showing with 208 additions and 202 deletions.
  1. +197 −197 gmsk_trx.grc
  2. +11 −5 gst-cmd.txt
View
394 gmsk_trx.grc
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Sat Aug 7 21:29:00 2010</timestamp>
+ <timestamp>Thu Aug 19 23:38:52 2010</timestamp>
<block>
<key>options</key>
<param>
@@ -292,72 +292,6 @@
</param>
</block>
<block>
- <key>blks2_packet_decoder</key>
- <param>
- <key>id</key>
- <value>blks2_packet_decoder_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>access_code</key>
- <value></value>
- </param>
- <param>
- <key>threshold</key>
- <value>-1</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(705, 155)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>gr_file_sink</key>
- <param>
- <key>id</key>
- <value>gr_file_sink_1</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>file</key>
- <value>video2.ts</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>unbuffered</key>
- <value>False</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(912, 155)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
<key>gr_multiply_const_vxx</key>
<param>
<key>id</key>
@@ -389,119 +323,6 @@
</param>
</block>
<block>
- <key>blks2_gmsk_mod</key>
- <param>
- <key>id</key>
- <value>blks2_gmsk_mod_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>samples_per_symbol</key>
- <value>2</value>
- </param>
- <param>
- <key>bt</key>
- <value>0.35</value>
- </param>
- <param>
- <key>verbose</key>
- <value>False</value>
- </param>
- <param>
- <key>log</key>
- <value>False</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(436, 663)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>gr_file_source</key>
- <param>
- <key>id</key>
- <value>gr_file_source_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>file</key>
- <value>video1.ts</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>repeat</key>
- <value>False</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(29, 663)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blks2_packet_encoder</key>
- <param>
- <key>id</key>
- <value>blks2_packet_encoder_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>samples_per_symbol</key>
- <value>2</value>
- </param>
- <param>
- <key>bits_per_symbol</key>
- <value>1</value>
- </param>
- <param>
- <key>access_code</key>
- <value></value>
- </param>
- <param>
- <key>pad_for_usrp</key>
- <value>True</value>
- </param>
- <param>
- <key>payload_length</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(227, 639)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
<key>variable_slider</key>
<param>
<key>id</key>
@@ -769,7 +590,186 @@
</param>
<param>
<key>_coordinate</key>
- <value>(849, 632)</value>
+ <value>(849, 634)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>gr_file_source</key>
+ <param>
+ <key>id</key>
+ <value>gr_file_source_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>file</key>
+ <value>video1.ts</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>byte</value>
+ </param>
+ <param>
+ <key>repeat</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(30, 664)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>gr_file_sink</key>
+ <param>
+ <key>id</key>
+ <value>gr_file_sink_1</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>file</key>
+ <value>video2.ts</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>byte</value>
+ </param>
+ <param>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>unbuffered</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(912, 153)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>blks2_packet_decoder</key>
+ <param>
+ <key>id</key>
+ <value>blks2_packet_decoder_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>byte</value>
+ </param>
+ <param>
+ <key>access_code</key>
+ <value></value>
+ </param>
+ <param>
+ <key>threshold</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(705, 153)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>blks2_gmsk_mod</key>
+ <param>
+ <key>id</key>
+ <value>blks2_gmsk_mod_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>samples_per_symbol</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>bt</key>
+ <value>0.35</value>
+ </param>
+ <param>
+ <key>verbose</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>log</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(437, 664)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>blks2_packet_encoder</key>
+ <param>
+ <key>id</key>
+ <value>blks2_packet_encoder_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>byte</value>
+ </param>
+ <param>
+ <key>samples_per_symbol</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>bits_per_symbol</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>access_code</key>
+ <value></value>
+ </param>
+ <param>
+ <key>pad_for_usrp</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>payload_length</key>
+ <value>4000</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(228, 642)</value>
</param>
<param>
<key>_rotation</key>
@@ -783,50 +783,50 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blks2_gmsk_demod_0</source_block_id>
- <sink_block_id>blks2_packet_decoder_0</sink_block_id>
+ <source_block_id>usrp_simple_source_x_0</source_block_id>
+ <sink_block_id>low_pass_filter_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blks2_packet_decoder_0</source_block_id>
- <sink_block_id>gr_file_sink_1</sink_block_id>
+ <source_block_id>low_pass_filter_0</source_block_id>
+ <sink_block_id>blks2_gmsk_demod_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>usrp_simple_source_x_0</source_block_id>
- <sink_block_id>low_pass_filter_0</sink_block_id>
+ <source_block_id>gr_multiply_const_vxx_0</source_block_id>
+ <sink_block_id>usrp_simple_sink_x_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>low_pass_filter_0</source_block_id>
- <sink_block_id>blks2_gmsk_demod_0</sink_block_id>
+ <source_block_id>blks2_gmsk_mod_0</source_block_id>
+ <sink_block_id>gr_multiply_const_vxx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blks2_packet_encoder_0</source_block_id>
- <sink_block_id>blks2_gmsk_mod_0</sink_block_id>
+ <source_block_id>gr_file_source_0</source_block_id>
+ <sink_block_id>blks2_packet_encoder_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>gr_file_source_0</source_block_id>
- <sink_block_id>blks2_packet_encoder_0</sink_block_id>
+ <source_block_id>blks2_packet_encoder_0</source_block_id>
+ <sink_block_id>blks2_gmsk_mod_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blks2_gmsk_mod_0</source_block_id>
- <sink_block_id>gr_multiply_const_vxx_0</sink_block_id>
+ <source_block_id>blks2_packet_decoder_0</source_block_id>
+ <sink_block_id>gr_file_sink_1</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>gr_multiply_const_vxx_0</source_block_id>
- <sink_block_id>usrp_simple_sink_x_0</sink_block_id>
+ <source_block_id>blks2_gmsk_demod_0</source_block_id>
+ <sink_block_id>blks2_packet_decoder_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
View
16 gst-cmd.txt
@@ -1,15 +1,21 @@
Gstreamer commands to use with the simple DVB TX/RX. For more tips and tricks see http://wiki.oz9aec.net/index.php/Gstreamer_Cheat_Sheet
-Note: video1.ts and video2.ts are named pipes created using the "mkfifo" command.
+Notes:
+- video1.ts and video2.ts are named pipes created using the "mkfifo" command.
+- The packet encoder adds 12 bytes / packet overhead. Therefore, when USRP rate is set to
+ 1 Msps, GMSK modulator to 2 samples / symbol and the packet encoder payload size is set to 4000,
+ the packet encoder overhead will be 1.5 kbps, leaving 498.5 kbps for the video. Hogher and lower
+ rates wil lwork too, tough.
+
1. Launch a video test source encoded to H.264/MPEG-TS and send it to a named pipe called video1.ts:
-gst-launch -e videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! x264enc bitrate=1024 ! mpegtsmux ! filesink location=video1.ts
+gst-launch -e videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! x264enc bitrate=498 ! mpegtsmux ! filesink location=video1.ts
2. Same as above but adds some nice text overlay:
-gst-launch -e videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! timeoverlay halign=left valign=bottom shaded-background=true ! textoverlay text="Test Video 640x360 25fps" halign=center valign=top shaded-background=true ! x264enc bitrate=1000 ! mpegtsmux ! filesink location=video1.ts
+gst-launch -e videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! timeoverlay halign=left valign=bottom shaded-background=true ! textoverlay text="Test Video 640x360 25fps" halign=center valign=top shaded-background=true ! x264enc bitrate=498 ! mpegtsmux ! filesink location=video1.ts
3. Same as above but uses webcam instead of videotestsrc:
-gst-launch -e -v v4l2src device="/dev/video1" ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! timeoverlay halign=right valign=bottom shaded-background=true ! textoverlay text="Test Video 640x360 25fps" halign=left valign=bottom shaded-background=true ! x264enc bitrate=1000 ! mpegtsmux ! filesink location=video1.ts
+gst-launch -e -v v4l2src device="/dev/video1" ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! timeoverlay halign=right valign=bottom shaded-background=true ! textoverlay text="Test Video 640x360 25fps" halign=left valign=bottom shaded-background=true ! x264enc bitrate=498 ! mpegtsmux ! filesink location=video1.ts
On the receiver side you can simply run mplayer:
mplayer video2.ts
@@ -20,7 +26,7 @@ Unfortunately this does not work with the current setup. I suspect it is due to
We could also add a local monitor on the TX side; however, this doesn't work either (also due to VBR/CBR mess):
-gst-launch -e -v videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! timeoverlay halign=left valign=bottom shaded-background=true ! textoverlay text="Test Video 640x360 25fps" halign=center valign=top shaded-background=true tee name="splitter" ! queue ! xvimagesink sync=false splitter. ! queue ! x264enc bitrate=1000 ! mpegtsmux ! filesink location=video1.ts
+gst-launch -e -v videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! timeoverlay halign=left valign=bottom shaded-background=true ! textoverlay text="Test Video 640x360 25fps" halign=center valign=top shaded-background=true tee name="splitter" ! queue ! xvimagesink sync=false splitter. ! queue ! x264enc bitrate=498 ! mpegtsmux ! filesink location=video1.ts
Alex
Please sign in to comment.
Something went wrong with that request. Please try again.