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
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.
-
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:
The following features DO NOT WORK, or will not
be supported
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
-
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.
-
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.
-
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.
-
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.
|