rpidatv is a digital television transmitter for Raspberry Pi (B,B+,PI2,PI3,Pizero) which output directly to GPIO. (Created by Evariste Courjaud F5OEO. Code is GPL)
 
 
 
 
 
 
Go to file
F5OEO b43ce0959e Install point to F5OEO branch and frstart to install autostart for image creation 2016-12-17 09:47:14 +00:00
bin Removed binaries : they have to be compiled 2016-12-15 16:03:34 +00:00
doc Latest info at 18 Nov 2016-11-18 17:07:13 +00:00
scripts Manuel launch for debug 2016-12-15 16:30:45 +00:00
src Increased memory buffer for RF Mode 2016-12-15 15:59:46 +00:00
video Update default config 2016-10-18 10:16:08 +00:00
README.md Back to original Readme (different from BATC) 2016-12-17 09:07:50 +00:00
install.md Install 2016-10-18 12:29:44 +00:00
install.sh Install point to F5OEO branch and frstart to install autostart for image creation 2016-12-17 09:47:14 +00:00
update.sh Added more comments 2016-12-10 12:07:04 +00:00

README.md

rpidatv banner

rpidatv

rpidatv is a digital television transmitter for Raspberry Pi (B,B+,PI2,PI3,Pizero) which output directly to GPIO. (Created by Evariste Courjaud F5OEO. Code is GPL)

Installation

Install a Raspbian Lite : (Raspbian Lite)

$ wget https://raw.githubusercontent.com/F5OEO/rpidatv/master/install.sh
$ chmod +x install.sh
$ ./install.sh

Hardware

Plug a wire on GPIO 12, means Pin 32 of the GPIO header : this act as the antenna. Length depend on transmit frequency, but with few centimeters it works for local testing.

Modulator

rpidatv is located in rpidatv/bin folder

rpidatv -2.0.0
Usage:
rpidatv -i File Input -s Symbolrate -c Fec [-o OutputMode] [-f frequency output]  [-l] [-p Power] [-h] 
-i            path to Transport File Input 
-s            SymbolRate in KS (125-4000) 
-c            Fec : 1/2 or 3/4 or 5/6 or 7/8 
-m            OutputMode
	      {RF(Modulate QSK in RF need -f option to set frequency)}
              {IQ(Output QPSK I/Q}
              {PARALLEL(Output parallel (DTX1,MINIMOD..)}
       	      {IQWITHCLK(Output I/Q with CLK (F5LGJ)}
	      {DIGITHIN (Output I/Q for Digithin)}
-f 	      Frequency to output in RF Mode in MHZ
-l            loop file input
-p 	      Power on output 1..7
-x 	      GPIO Pin output for I or RF {12,18,40}
-y	      GPIO Pin output for Q {13,19,41,45}
-h            help (print this help).
Example : sudo ./rpidatv -i sample.ts -s 250 -c 1/2 -o RF -f 437.5 -l

Transport stream

rpidatv needs a DVB transport stream in input. In the past, ffmpeg was used to generate transport stream. Because ffmpeg is not completely DVB compliant and induces latency, an other tool is proposed : avc2ts

H264 encoder and transport stream encapsulator

avc2ts is located in rpidatv/bin folder

avc2ts -1.0.0
Usage:
rpi-avc2ts  -o OutputFile -b BitrateVideo -m BitrateMux -x VideoWidth  -y VideoHeight -f Framerate -n MulticastGroup [-d PTS/PCR][-v][-h] 
-o            path to Transport File Output 
-b            VideoBitrate in bit/s 
-m            Multiplex Bitrate (should be around 1.4 VideoBitrate)
-x            VideoWidth (should be 16 pixel aligned)
-y 	      VideoHeight (should be 16 pixel aligned)
-f            Framerate (25 for example)
-n 	      Multicast group (optionnal) example 230.0.0.1:10000
-d 	      Delay PTS/PCR in ms
-v	      Enable Motion vectors
-i	      IDR Period
-t		TypeInput {0=Picamera,1=InternalPatern,2=USB Camera,3=Rpi Display,4=VNC}
-e 		Extra Arg:
			- For usb camera name of device (/dev/video0)
			- For VNC : IP address of VNC Server. Password must be datv
-p 		Set the PidStart: Set PMT=PIDStart,Pidvideo=PidStart+1,PidAudio=PidStart+2
-s 		Set Servicename : Typically CALL
-h            help (print this help).
Example : ./rpi-avc2ts -o result.ts -b 1000000 -m 1400000 -x 640 -y 480 -f 25 -n 230.0.0.1:1000

Console interface

A console interface is provided under rpidatv/scripts

$ /home/pi/rpidatv/scripts/gbmenu.sh

Touchscreen interface

Rpidatvgui A graphical interface is provided under rpidatv/bin/ folder

$ /home/pi/rpidatv/bin/rpidatvgui