pull/47/head
F5OEO 2016-10-18 12:58:06 +00:00
rodzic 1227f73d18
commit 08c904e245
3 zmienionych plików z 65 dodań i 58 usunięć

110
README.md
Wyświetl plik

@ -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)*
<h1> rpidatv Transmitter installation </h1>
```
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
```
<h1> leandvb rtlsdr receiver installation </h1>
`./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`
<h1>Hardware</h1>
# 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.
<h1>Short manual</h1>
<h2> General </h2>
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**
<h2> Minimal graphical menu </h2>
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
```

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 109 KiB

Wyświetl plik

@ -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