Page d'accueil

Portsdown


par Michel Vonlanthen HB9AFO
 

Portsdown 2019

 

Introduction: https://wiki.batc.org.uk/The_Portsdown_Transmitter

 

Portsdown 2019:  https://wiki.batc.org.uk/Portsdown_2019

 

Feeding Video to Portsdown from vMix:

https://wiki.batc.org.uk/Feeding_Video_to_Portsdown_from_vMix

 

 

 

Jetson Nano

 

Jetson Nano:  https://wiki.batc.org.uk/Jetson_Nano

 

Use of the NVIDIA Jetson Nano for DATV: https://forum.batc.org.uk/viewtopic.php?f=15&t=6116#p19704

 


Caméra USB

 

C'est la PI Camera qui donne les meilleurs résultats car sa résolution est directement pilotée par le RPI. Si on veut utiliser une caméra USB externe, telle la Logitech C920 par exemple, il faut que cette dernière soit connectée seulement après que le RPI ait booté.


Protsdown from OBS from John G7JTT

 

Firstly I'm no expert with this but thought I'd share my success with getting OBS to talk the the Portsdown. I'd also like to thank everyone who has helped me along the way, especially Evariste F5OEO who spent a marathon evening with me helping to the early hours of the following morning getting the system working.
 

Screenshot 2019-05-22 07.33.05.png

Screen shot of my setup

Screenshot 2019-05-22 07.33.05.png (1.1 MiB) Viewed 1841 times


You will need to setup the Portsdown to talk to your PC via a network cable, WiFi wont work reliably. I also set the Portsdown up with a fixed IP of 10.0.0.1 by adding the text ip=10.0.0.1 to the cmdline.txt file found in the root of your SD card. Once you have set the Portsdown up and can confirm the network is working, you need to set up OBS. What I have done is to create several profiles and named them to reflect the SR/FEC settings so for 250Ks @ 3/4 FEC I named it 250Ks@3/4FEC I then went on to create another 4 profiles for the most common combinations of SR/FEC I use. The following is a copy of my 250Ks@3/4FEC ini file.

[General]
Name=250KS@3/4FEC

[Video]
BaseCX=1280
BaseCY=720
OutputCX=1280
OutputCY=720
FPSType=1
FPSInt=25

[Panels]
CookieId=36EA87EF08C0DFF0

[Output]
Mode=Advanced

[AdvOut]
TrackIndex=1
RecType=FFmpeg
RecEncoder=obs_x264
RecTracks=1
FFOutputToFile=false
FFURL=udp://230.0.0.11:20000?pkt_size=1316
FFFormat=mpegts
FFFormatMimeType=video/MP2T
FFExtension=ts
FFVBitrate=222
FFIgnoreCompat=true
FFVEncoderId=28
FFVEncoder=libx264
FFAEncoderId=86018
FFAEncoder=aac
FFAudioMixes=1
FFMCustom=muxrate=372100 mpegts_original_network_id =1 mpegts_transport_stream_id=2 mpegts_service_id=1 mpegts_start_pid=300

mpegts_pmt_start_pid=4096 pcr_period=40
FFVCustom=preset=superfast x264-params=nal-hrd=cbr:force-cfr=1:vbv-bufsize=1000
FFVGOPSize=100
FFABitrate=32
FFRescale=true
FFRescaleRes=768x576
RescaleRes=620x465
RecRescaleRes=1920x1080
Rescale=false

[Stats]
geometry=AdnQywACAAAAAAIoAAABXQAABVcAAAKbAAACMAAAAXwAAAVPAAACkwAAAAAAAAAAB4A=

[Audio]
SampleRate=44100
ChannelSetup=Mono

With OBS running click on the profile tab and then rename the default profile to 250Ks@3/4FEC. Now click on the file tab and go to show the profile folder. Within that window you will see a file basic.ini, right click edit then you should be able to copy and paste the above text into this file. You can set the preview screens up to what ever takes your fancy but the FFRescaleRes should be appropriate for the SR in use so 768x576 or 352x288 are better suited to SR333/250 where as 1280x720 is better left to SR's of 500Ks and above. You can now duplicate this profile and rename them to suit your own choice of SR/FEC combination, I have 250Ks@3/4FEC, 333Ks@3/4FEC,500Ks@1/2FEC,500Ks@3/4FEC and 1Ms@1/2. For each profile you will need to change the muxrate and FFVBitrate (video bitrate) values for your given choice of SR/FEC. Use this site http://www.satbroadcasts.com/DVB-S_Bitr ... lator.html to work out your own choice of SR/FEC combinations. The Netto TS bitrate is what you need but in Kmps so multiply by 1000000 then enter this as your new muxrate, to work out the FFVBitrate multiply muxrate by 0.0006 and round up to just 3 digits. Once OBS is set up you can test it's all working with VLC set to receive an network

connection on udp://230.0.0.11:20000 and hitting the start recording button on OBS.

Next is the script that you need to run along side OBS to add user details, the following should be copied into batch file and run.

@echo off
rem edited By G7JTT May 2019
rem Feb 2019 by Evariste F5OEO - QO-100 Release 0.9 (Completely rewritten)
rem Started from original tool
rem Idea from Portsdown vmix ffmpeg script

rem ================= SETUP ONCE ===========

set callsign=YOURCALL
rem Set appropriately
rem set raspi_ip=230.0.0.10
set raspi_ip=10.0.0.1
set ip=%raspi_ip%:10000

rem ================= INTERACTIVE =======================
rem --- SR asked only once ----
set SR=250
cls
:promptme
echo ==== Enter SR 250@3/4,333@3/4,500@1/2,500HD,1000@1/2 =====
set /p SR="SymbolRate(Ks) (%SR%)"

IF "%SR%"=="250" (SET TSBITRATE=372100)
IF "%SR%"=="333" (SET TSBITRATE=495700)
IF "%SR%"=="500" (SET TSBITRATE=494900)
IF "%SR%"=="500HD" (SET TSBITRATE=661100)
IF "%SR%"=="1000" (SET TSBITRATE=989800)
IF "%TSBITRATE%"=="" (GOTO :promptme)
echo SR=%SR%
echo Muxrate=%TSBITRATE%
pause
rem ======================== Launch ffmpeg OBS =========================

echo launch ffmpeg OBS
start "OBS to udp/ts" /high ^
C:\ffmpeg\bin\ffmpeg ^
-i udp://230.0.0.11:20000 -c:v copy -muxrate %TSBITRATE% -c:a copy ^
-f mpegts -mpegts_original_network_id 1 -mpegts_transport_stream_id 1 -mpegts_service_id 1 -mpegts_pmt_start_pid 4096 -streamid 0:256 -streamid 1:257 ^
-metadata service_provider="QO-100" -metadata service_name=%callsign% ^
-flush_packets 0 -f mpegts "udp://%ip%:10000?pkt_size=1316"

You need to setup your call sign and IP address of the Portsdown if you did not use 10.0.0.1, the options are self explanatory with the exception of

500HD this is just 500Ks @ 3/4FEC and I use this to send HD video from my Logitech C920 webcam.

So to work with the Portsdown you need to select IPTSin via the touch screen or via the console from an SSH connection. You must select the

same combination of SR/FEC as the script and the OBS profile. Both the script and OBS must be running then press start recording button in

OBS, wait a while untill the FFMpeg widow settles down then hit TX on the portsdown. The first few seconds of the video will be a little funky but

it will settle down and should work well for the length of the over. There are some sources/transitions within OBS that don't seem to work well

with my set up, but just play around and find what works best for you.

Hope this will help and that I've explained it in a way that makes sense?

All the Best John G7JTT


Le Portsdown 2020

 

 

As new capabilities are developed, the Portsdown evolves through major changes to take advantages of updates to the operating system and features. Older versions cease to be updated, but unlike "Windows" they don't stop working. Just tighten the screws in the lid, don't connect them to the internet and keep putting them on the air!

Portsdown 2020 is based on the RPi Buster operating system. There is no routine software update available from Portsdown 2019, which was based on the older Stretch operating system, but you can build (or buy from the BATC shop) a new SD Card and simply fit it in place of the old card to get the new features.

Features

 

 

The new features in Portsdown 2020 are:

  • H264 DVB-S and DVB-S2 transmissions from the LimeSDR Mini using F4IHX's custom DVB Firmware.

  • High symbol rate DVB-S transmissions (up to 6 MS) from the LimeSDR Mini using F4IHX's custom DVB Firmware.

  • DVB-S and DVB-S2 transmissions from the LimeSDR USB Portsdown 2020 LimeSDR USB

  • Support for the C920 WebCam

  • The ability to suppress the calibration spike at the beginning of LimeSDR transmissions.

The following legacy features have been tested and work well:

  • DVB-S Transmissions using a BATC Filter-modulator board

  • Streaming to the BATC streaming server

  • Composite video output

  • Receive capability with a MiniTiouner (to be upgraded in software 2020043000 Portsdown 2020 Receive Enhancements

The following features have not yet been tested and may not work:

  • DVB-S and DVB-S2 transmissions from the LimeSDR Mini using the stock firmware

  • DVB-S and DVB-S2 transmissions from the LimeMET Micro

  • DVB-S transmissions using DATV Expresss or the DTX-1

The following features DO NOT WORK, or will not be supported

  • The FreqShow spectrum viewer

You can find the latest information on the tested capabilities of Portsdown 2020 here: Portsdown 2020 Buster Software.

Hardware build

The Portsdown 2020 uses the same hardware as the Portsdown 2019 - see this wiki page for more details.


Pour débuter avec le Portsdown 2020

 

 

The Portsdown 2020 build is primarily intended to be used with the LimeSDR Mini loaded with the custom LimeDVB Firmware. If you do not intend to use this new firmware it is not, at this stage (Feb 2020), worth switching to the Portsdown 2020 build - the more mature 2019 build could be better.

 

 

Background

 

The Raspberry Pi 3 has to work quite hard to drive a LimeSDR to transmit DVB-S and DVB-S2. In response to this, custom firmware has been developed by F4IHX for the LimeSDR Mini (only) that enables it to take on some of the processing load of generating QPSK and 8PSK modulation.

This "LimeDVB" firmware must be loaded over an existing firmware load, and must be driven with different software on the Portsdown. Because it works differently, the power output is lower than the conventional software, but a cleaner signal is generated. Initial tests indicate that the normal receive capabilities of the LimeSDR are retained with the LimeDVB firmware loaded.

Building Portsdown 2020

 

The instructions on how to build Portsdown 2020 on to a blank SD Card can be found here: https://github.com/BritishAmateurTelevisionClub/portsdown-buster. Alternatively, BATC Members can purchase a pre-programmed card from the BATC Shop https://batc.org.uk/category/portsdown/

Setting up to use LimeDVB

  1. First of all, you need to set up the Portsdown to generate the signals to drive the LimeSDR Mini with the custom Lime DVB firmware. Connect your LimeSDR Mini to your Portsdown Raspberry Pi (preferably through a powered USB hub) and power on. Select LimeDVB as the output mode for the Portsdown: On Menu 1 (the main Menu) on the touchscreen, select "Output to" and then select "Lime DVB" (which should not be greyed out). Confirm that Lime DVB is shown on the "Output to" button on Menu 1.

  2. Next check the firmware on the LimeSDR Mini. Select Menu 3 (M3), then "Lime Config". Then select "Lime FW Info". Towards the bottom of the displayed list, you will see Gateware version 1, and Gateware revision 26, 27, 28 ,29 or 30.

  3. If the revision number is not 30 (so not Firmware 1.30) you need to update your LimeSDR Mini firmware to 1.30. Select "Update to FW 1.30". You should see a message "Upgrading Lime Firmware to 1.30" and then after 20 seconds or so "Firmware Upgrade Successful. Now at Gateware 1.30 Touch Screen to Continue". Touch the screen.

  4. If your firmware was at 1.30, or you have successfully upgraded, you then need to load the custom LimeDVB firmware. Select "Update to DVB FW". You should see a message "Upgrading Lime Firmware to Custom DVB" and then after 20 seconds or so "Firmware Upgrade Complete DVB Touch Screen to Continue". Touch the screen.

You can now set the LimeSDR Mini to only calibrate if it needs to, by pressing the "Calibrate Every TX" button. This will cycle through "Never Calibrate" (not recommended) "Calibrate if Needed" (recommended) and "Calibrate Every TX" (should be used if you connect a different LimeSDR Mini). Leave it set to "Calibrate if Needed" and it will only calibrate on major frequency changes. IMPORTANT NOTE: the LimeSDR Mini will always calibrate on the first transmission after selecting "Calibrate if Needed".

Now press exit to get back to the main menu

 

 

Setting up for Transmission

 

From the main menu you can set the Modulation (S2QPSK recommended), Encoding (H264 recommended), Format (4:3 recommended), Source (Pi Cam, Test Card or C920 Webcam recommended), Frequency, Symbol Rate and FEC.

 

You should set the Lime Gain once you can check the output level is correct for your transmitter. At Lime Gain 100, the Output levels are one or 2 dB lower than indicated on this chart LimeSDR_Mini_Output_Power_Levels. At Lime Gain 80, the reduction is about 20 dB, but the steps are very non-linear.

 

PTT Swtching

 

The PTT line on the Raspberry Pi GPIO pin 40 goes high after 7 seconds, giving time for the LimeSDR Mini to calibrate if required before the PA is keyed up. GPIO 8 on the LimeSDR Mini also goes high when the calibration (or initialisation if not calibrating) is complete.


Portsdown 2020 Buster Software

 

Introduction

 

The Portsdown Buster Software is a major change from previous Portsdown Software. The complete system needs retesting (and much of it needs re-writing) so only specific features will initially be declared as fit for use, with more features being added to the list as testing progresses.

The changes being introduced with this software include:

  • A new LimeDVB mode that uses custom Firmware written by F4IHX and F5OEO for a LimeSDR Mini to produce DVB-S and DVB-S2 signals.

  • The ability to select whether LimeSDR calibration takes place before transmission

  • A specific capability to transmit 1MS DVB-S2 with high reliability for use in repeater transmitters.

  • A transport stream viewer that will display H264 transport streams sent the Portsdown for testing purposes.

The notes below apply to the latest release 202003140, built on Portsdown Buster 2020-02-05.

Tested Modes of Operation using LimeDVB Firmware

To load the LimeDVB custom firmware, first check the current Firmware standard (Menu 3, Lime Config, Lime FW Info). It should be 1.30. If not, update it to 1.30 (Menu 3, Lime Config, Update to FW 1.30). Once at this standard, update with the DVB Firmware (Menu 3, Lime Config, Update to DVB FW).

If you do not have a touchscreen (for example setting up a repeater transmitter), you can achieve the same actions by using the Lime Config Menu on the Console (see Console mode Instructions) after connecting to the Raspberry Pi by ssh.

EasyCap input, H264 DVB-S2 output using LimeDVB

This mode transmits reasonable pictures at symbol rates from 125 kS to 3 MS.

Pi Camera input, H264 DVB-S2 output using LimeDVB

This mode transmits reasonable pictures at symbol rates from 125 kS to 3 MS, both with and without a USB Microphone dongle.

Animated Test Card (TCAnim) input, H264 DVB-S2 output using LimeDVB

This mode transmits reasonable pictures at symbol rates from 125 kS to 2 MS, both with and without a USB Microphone dongle.

Static Test Card input, H264 DVB-S2 output using LimeDVB

This mode transmits reasonable pictures from Test Card C (with callsign caption if selected), or the contest numbers card at symbol rates from 125 kS to 2 MS. Audio is disabled when using the static test card or contest numbers.

C920 Webcam input, H264 DVB-S2 output using LimeDVB

This mode transmits good pictures and audio at symbol rates from 125 kS to 2 MS. Note that maximum definition from the C920 in this mode is currently 800x448. This is because of problems with the Linux driver for the camera.

EasyCap input, H264 DVB-S output using LimeDVB

This mode transmits reasonable pictures at symbol rates from 125 kS to 6 MS.

EasyCap input, MPEG-2 DVB-S output using LimeDVB

This mode transmits stuttering pictures at symbol rates from 125 kS to 6 MS. Not sure how to make it better!

Pi Camera input, H264 DVB-S output using LimeDVB

This mode transmits very good pictures at symbol rates from 250 kS to 9 MS, both with and without a USB Microphone dongle.

Pi Camera input, MPEG-2 DVB-S output using LimeDVB

This mode transmits very good pictures at symbol rates from 250 kS to 9 MS, both with and without a USB Microphone dongle.

C920 Webcam input, H264 DVB-S output using LimeDVB

This mode transmits good pictures and audio at symbol rates from 125 kS to 6 MS. Note that maximum definition from the C920 in this mode is currently 800x448. This is because of problems with the Linux driver for the camera.

C920 Webcam input, MPEG-2 DVB-S output using LimeDVB

This mode transmits good pictures and audio at symbol rates from 500 kS to 6 MS.

Animated Test Card (TCAnim) input, H264 DVB-S output using LimeDVB

This mode transmits reasonable pictures at symbol rates from 125 kS to 6 MS.

Static Test Card input, H264 DVB-S output using LimeDVB

This mode transmits reasonable pictures from Test Card C (with callsign caption if selected), or the contest numbers card at symbol rates from 125 kS to 6 MS. Audio is disabled when using the static test card or contest numbers.

Static Test Card input, MPEG-2 DVB-S output using LimeDVB

This mode transmits reasonable pictures from Test Card C (with callsign caption if selected), or the contest numbers card at symbol rates from 333 kS to 6 MS. Audio is disabled when using the static test card or contest numbers.

External Transport Stream Transmission using LimeDVB

Portsdown version 202002290 introduced support for the transmission of an externally generated transport stream (generated from vMix or OBS and encoded using ffmpeg on a Windows or Linux PC) using DVB-S or DVB-S2 and the LimeDVB firmware. This works well from 333 to 1000 kS.More information can be found here IPTS Input to Portsdown with the LimeSDR. There is also a Transport Stream viewer on Menu 2.

Carrier Transmission using LimeDVB

Carrier mode (selected from the Modulation Menu) works with the LimeDVB firmware and generates a carrier on the selected freq at a power level within a dew dB of the modulated power level.

Tested Modes of Operation using the Portsdown Filter-Modulator Board (DVB-S only)

EasyCap input, H264 output

This mode transmits reasonable pictures at symbol rates from 250 kS to 2 MS.

Pi Camera input, H264 output

This mode transmits reasonable pictures at symbol rates from 125 kS to 2 MS, both with and without a USB Microphone dongle.

Animated Test Card (TCAnim) input, H264 output

This mode transmits reasonable pictures at symbol rates from 125 kS to 2 MS, both with and without a USB Microphone dongle.

Static Test Card input, H264 output

This mode transmits reasonable pictures from Test Card C (with callsign caption if selected), or the contest numbers card at symbol rates from 125 kS to 1 MS. Audio is disabled when using the static test card or contest numbers.

C920 Webcam input, H264 output

This mode transmits good pictures and audio at symbol rates from 125 kS to 2 MS. Note that maximum definition from the C920 in this mode is currently 800x448. This is because of problems with the Linux driver for the camera.

EasyCap input, MPEG-2 output

This mode transmits reasonable pictures at symbol rates from 1 MS to 5 MS.

Pi Camera input, MPEG-2 output

This mode transmits reasonable pictures at symbol rates from 250 kS to 5 MS, both with and without a USB Microphone dongle.

Static Test Card input, MPEG-2 output

This mode transmits reasonable pictures from Test Card C (with callsign caption if selected), or the contest numbers card at symbol rates from 250 kS to 5 MS.

C920 Webcam input, MPEG-2 output

This mode transmits good pictures and audio at symbol rates from 250 kS to 5 MS.

Tested Modes of Operation using the LimeNET Micro

Note that "Lime Mini" should be selected as the output device when using the LimeNET Micro. Lime DVB mode is not available because there is no compatible LimeDVB firmware/gateware image.

C920 Webcam input, H264 output, DVB-S2

This mode transmits good pictures and audio at symbol rates from 250 kS to 2 MS. Note that maximum definition from the C920 in this mode is currently 800x448. This is because of problems with the Linux driver for the camera.

LongMynd DATV Receiver

The LongMynd DATV Receiver software (which works with a MiniTiouner) is included in this Portsdown build and has the same functionality as previous Portsdown versions.

Composite Video Output

The Composite video output works well both as a transmission mode (for driving analog transmitters) or as a second display. The output can be enabled when a 7 inch screen is in use from a button on the System Config menu reached from Menu 3.

Output to BATC Streamer

This version of Portsdown can send video and audio to the BATC streamer. The supported input devices are a Pi Camera (with USB mic dongle), or an EasyCap for Composite Video input. The test card can also be sent. Remember to set up your stream name and key in Menu 3, Set Stream Outputs, Amend Preset (then press the preset to be amended).

Limitations

LimeSDR Models

Only the LimeSDR Mini (hardware versions 1.1, 1.2 and 1.3) is supported by this build. It is hoped to add LimeNET Micro support, but the LimeSDR USB will not be supported.

USB Webcams

The only USB Webcam that is planned to be supported in Portsdown Buster is the Logitech C920. If you have other webcams working with Portsdown Jessie or Portsdown Stretch, then please keep using the older software.

Reduced Power Output

The Power output from the LimeSDR Mini using the LimeDVB software is less than that available using Portsdown 2019. This has yet to be exactly characterised but initial indications are that at Lime Gain 100 it is one or 2 dB less than the line on this chart LimeSDR_Mini_Output_Power_Levels which was drawn up using the older software at Lime Gain 88.

Increased Delay at Low Symbol Rates

At low symbol rates, there is an increased delay in the video/audio stream - maybe 15 seconds increase at 333 kS. It is hoped that this can be reduced in a future update.

Limited DVB-S2 Modes

The custom LimeDVB firmware only supports QPSK and 8PSK (untested as yet). It does not support 16APSK or 32APSK.

LimeRFE Control

Although there is a button to enable/disable a USB-connected LimeRFE, this does not yet do anything.

FreqShow

It has not been possible to make the FreqShow spectrum view work with this build.