diff --git a/README.md b/README.md index 5545055..21f0711 100644 --- a/README.md +++ b/README.md @@ -1,59 +1,79 @@ ![rpidatv banner](/doc/img/spectreiq.jpg) - +# 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)* -

rpidatv Transmitter installation

-``` -sudo apt-get update && -sudo apt-get install rpi-update && -sudo rpi-update && -sudo apt-get install apt-transport-https && -sudo apt-get install git && -git clone git://github.com/f5oeo/rpidatv && -cd rpidatv/src && -make -j 4 -sudo make install +# Installation +```sh +$ wget https://raw.githubusercontent.com/F5OEO/rpidatv/master/install.sh +$ chmod +x install.sh +$ ./install.sh ``` -

leandvb rtlsdr receiver installation

-`./install.sh` -This install leandvb : a simple dvb-s receiver with rtl-sdr usb dongle -([leandvb dvb-s receiver](http://www.pabr.org/radio/leandvb/leandvb.en.html)) -You can run the receiver : `./scripts/leandvb2video.sh` - -

Hardware

+# Hardware Plug a wire on GPIO 12, means Pin 32 of the GPIO header ([header P1](http://elinux.org/RPi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29)): this act as the antenna. Length depend on transmit frequency, but with few centimeters it works for local testing. -

Short manual

-

General

-rpidatv is located in /bin folder - +# Modulator +**rpidatv** is located in rpidatv/bin folder ``` -rpidatv -1.3.0 +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). +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 ``` -Example : `sudo ./rpidatv -i sample.ts -s 250 -c 1/2 -m 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** -

Minimal graphical menu

-You can launch a graphical menu located in /scripts folder -`./frmenu.sh` for french language -`./gbmenu.sh` for english language +# 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 +```sh +$ /home/pi/rpidatv/scripts/gbmenu.sh +``` +# Touchscreen interface +![Rpidatvgui](/doc/img/rpidatvgui.jpg) +A graphical interface is provided under rpidatv/bin/ folder +```sh +$ /home/pi/rpidatv/bin/rpidatvgui +``` diff --git a/doc/img/rpidatvgui.jpg b/doc/img/rpidatvgui.jpg new file mode 100644 index 0000000..f072917 Binary files /dev/null and b/doc/img/rpidatvgui.jpg differ diff --git a/rpidatvconfig.txt~ b/rpidatvconfig.txt~ deleted file mode 100644 index a9dbd76..0000000 --- a/rpidatvconfig.txt~ +++ /dev/null @@ -1,13 +0,0 @@ -modeinput=CAMH264 -symbolrate=250 -fec=7 -freqoutput=437.5 -rfpower=7 -modeoutput=QPSKRF -tsvideofile=/home/pi/RpiDATVRelease/mire250.TS -call=F5OEO -paternfile=/home/pi/RpiDATV_Dev/mire.jpg -udpinaddr=230.0.0.2 -pidvideo=512 -pidpmt=100 -serviceid=1