Difference between revisions of "Digital Video Transmission"

From MyLabWiki
Jump to: navigation, search
(Using H.264)
(System Overview)
Line 31: Line 31:
 
** VLC
 
** VLC
  
Note: The MPEG-TS muxer would be nice to have in order to encapsulate more than one stream and to ensure CBR by inserting NULL packets.
+
Notes:
 +
# The MPEG-TS muxer would be nice to have in order to encapsulate more than one stream and to ensure CBR by inserting NULL packets.
 +
# Gstreamer is also an interesting option for video processing pipeline, in particular since neither the ffmpeg nor vlc MPEG-TS muxer seems to be able to provide CBR.
 +
#* [http://gstreamer.freedesktop.org/ Gstreamer web]
 +
#* [http://gstreamer.freedesktop.org/modules/gst-python.html GStreamer Python Bindings]
 +
#* [http://pygstdocs.berlios.de/pygst-tutorial/index.html Python GStreamer Tutorial]
  
 
== Target Bitrates ==
 
== Target Bitrates ==

Revision as of 13:16, 27 April 2010

Contents

System Overview

Modular setup where once can easily swap between different codecs, modulation and other parameters.

On the receiver side:

  • Video input device:
    • File
    • Webcam
    • Firewire cameras
  • Video encoder
    • ffmpeg
    • vlc
  • MPEG-TS muxer
  • GNU Radio SDR transmitter:
    • FEC
    • Modulator
  • USRP with RFX
    • RFX1200 gives 200mW at 1.2 GHz

On the receiver side:

  • USRP with RF board for 1.2 GHz:
    • WBX
    • DBSRX
  • GNU Radio SDR receiver:
    • FEC
    • Demodulator
  • MPEG-TS demuxer
  • Video decoder:
    • ffplay
    • VLC

Notes:

  1. The MPEG-TS muxer would be nice to have in order to encapsulate more than one stream and to ensure CBR by inserting NULL packets.
  2. Gstreamer is also an interesting option for video processing pipeline, in particular since neither the ffmpeg nor vlc MPEG-TS muxer seems to be able to provide CBR.

Target Bitrates

Using H.264

  • 1920 x 1080i (2-8 Mbps)
  • 1280 x 720p (1-4 Mbps)
  • 704 x 480p (412 kbps to 2 Mbps)
  • 640 x 360 (256 kbps to 1 Mbps)

Source: http://www.linuxfordevices.com/c/a/News/Panasonic-KXVC500/

Note: libx264 prefers both height and width to be integer multiple of 16, otherwise compression will suffer.

Using OGG Theora

TBD


Using Dirac

TBD


Modulation

PSK

Differential BPSK would be simplest with best BER vs Eb/N0.

DVB-S uses QPSK.


GMSK

Gaussian minimum shift keying or GMSK is a continuous-phase frequency-shift keying modulation scheme. It is similar to standard minimum-shift keying (MSK); however the digital data stream is first shaped with a Gaussian filter before being applied to a frequency modulator. This has the advantage of reducing sideband power, which in turn reduces out-of-band interference between signal carriers in adjacent frequency channels. However, the Gaussian filter increases the modulation memory in the system and causes intersymbol interference, making it more difficult to discriminate between different transmitted data values and requiring more complex channel equalization algorithms such as an adaptive equalizer at the receiver.

GMSK has high spectral efficiency, but it needs a higher power level than QPSK, for instance, in order to transmit the same amount of data reliably.

GMSK is used in GSM as well as in Space-to-Earth links for high-rate mission data.

Wikipedia

Other Projects