Mouser (140 Euros) mais 10dB moins puissant que les US
La stabilité en fréquence n'est pas fameuse mais
utilisable pour de la DATV. Par contre, pour des low SR (66 voire
33kS/s), ainsi que pour faire de la SSB, il faut changer
l'oscillateur ou mieux le piloter depuis un oscillateur externe
stabilisé, par exemple un Leo Poldar. Je décrirai la modification
ultérieurement, ainsi qu'une autre destinée à éviter des coupures
USB. Il est également possible de faire une modification de firmware
destinée à étendre la gamme de fréquence du Pluto.
Après l'avoir sorti de son boîtier plastic
d'origine, j'ai monté l'ADALM-Pluto dans un boîtier en fonte
injectée.
Connecter le Pluto au PC avec le câble
USB. Utiliser la prise Micro USB (= idem smartphone) du centre (pas celle, à droite,
de l'alimentation du Pluto). La led Ready brille et la led
LED1 clignote. Le Pluto est directement alimenté par le PC,
laisser libre la prise Micro USB de droite, réservée pour
l'alimentation).
Télécharger le driver Windows:
PlutoSDR-M2k-USB-Drivers.exe - v0.7. Par défaut il va se
mettre dans le répertoire "Téléchargement" de votre PC.
Installer le driver:
avec Windows Explorer, double-cliquez sur son nom dans le
répertoire "Téléchargement". "Voulez-vous exécuter ce fichier?"
Oui. Ensuite acceptez tout ce qu'on vous propose. L'installation
prend un certain temps. A la fin, vous devez voir PlutoSDR dans la liste des
périphériques USB connectés (icone à droite de la barre des
tâches). Votre Pluto est maintenant reconnu par Windows.
Dans le
gestionnaire de périphétiques, on doit avoir:
- Dans Cartes réseaux:
Pluto SDR USB Ethernet/RNDIS gadget - Dans Ports COM & LPT:
Pluto SDR Serial console (COM3)
Avec Windows Explorer, vous avez maintenant
un lecteur de plus: PlutoSDR (G:). Double-cliquez dessus
et vous obtenez son contenu soit le sous-répertoire img qui
contient les images utilisées par le fichier info.html, et les 3
fichiers config.txt, info.html et LICENSE.html.
Avec Windows Explorer, cliquez sur info.html et vous obtenez la marche à suivre d'installation
d'ANalog Devices. Il faut commencer par
télécharger et installer le firmware d'origine du
Pluto. Cliquez sur la ligne 1. de "Getting Started" intitulée:
"Upgrade your firmware". Le Pluto vous répondra peut-être:
"Pluto is using the same version as
latest release!" ce qui indique qu'il est déjà équipé de la
dernière version du firmware officiel. Si c'est le cas, sautez
au point 7. Sinon vous recevez:
Status of the Pluto firmware: Newer version available online (Version v0.31)
Download version v0.31
Cliquez sur cette dernière ligne. Ceci fait, le fichier
plutosdr-fw-v0.31.zip se met dans le répertoire
"Téléchargement". Avec Windows Explorer, double-cliquez sur ce
nom afin de le dézipper dans un répertoire que vous créez, par
exemple, D:/pluto. 5 fichier y sont copiés.
Pour démarre la mise à jour du firmware, il faut cliquer
avec le bouton droit de la souris sur ce répertoire, puis
choisir éjecter (très
important sinon la mise à jour ne se fait pas).
La fenêtre en bas à droite du bureau s'ouvre (ci-contre).
Il faut alors cliquer sur "éjecter PlutoSDR (G:)" (pas sur la ligne du dessus)
La
mise à jour du Pluto se fait et la led LED1 clignote
rapidement.
Cela dure environ 4 minutes.
Ne pas déconnecter le câble USB tant
que la led clignote rapidement !
A la fin la led reprend sa cadence normale de clignotement ce
qui indique que le Pluto a été mis à jour avec la dernière
version du firmware d'Analog Devices. Ceci est nécessaire car le
firmware d'Evariste se repose sur celui-là.
A partir de là vous pouvez aussi accéder au
Pluto avec un navigateur à l'URL: http://192.168.2.1
Le fichier "pluto.frm.zip" se met dans le répertoire
"Téléchargement". Décompressez-le dans un répertoire provisoire,
dans lequel vous obtenez un seul fichier: pluto.frm
Pour installer le firmware d'Evariste dans le
Pluto, il faut procéder de la même façon qu'avec le firmware
d'origine décrite au point 6, soit le copier dans la racine
du Pluto et ensuite faire éjecter.
Il ne reste plus qu'à contrôler que le
firmware d'Evariste est bien en place, avec un navigateur à l'URL:
http://192.168.2.1
On doit y trouver le mode d'emploi du nouveau firmware:
Welcome to the ADALM-PLUTO
QO-100 DATV custom firmware
Thank you for testing this custom firmware. It is mainly
intended to make an easy plateform for TX/RX on QO-100
satellite but could be used on other bands.It includes :
DATV DVBS/S2 modulator
(33KSymbols to 2MSymbols).
Reduced bandwidth analog TV
modulator using NASA Apollo mode
HackTV
On peut maintenant commencer à travailler
avec le Pluto, les explications se trouvant dans le descriptif
ci-dessus, sur le Pluto. Par la suite, différentes modifications
hard et software pourront être faites au Pluto.
Au départ, le Pluto est connecté au PC via un
câble USB qui lui amène également son alimentation 5V (prise USB de
gauche sur le Pluto, la droite est libre). Si on ne voit pas (ou
plus) de lecteur Pluto (G: par exemple) avec Windows Explorer, il
faut restaurer le firmware au moyen de la méthode qui suit. Elle
commence par transformer le SDR Pluto en flasheur d'EPROM.
Déconnecter le câble USB du Pluto
Sur le PC, créer un répertoire C:\DFU (utile si on doit répéter l'opération au
fil du temps)
Firmware a) Aller dans
https://github.com/analogdevicesinc/plutosdr-fw/releases b) Télécharger
plutosdr-fw-v032.zip (tout en
bas de la page, sous "Assets") c) Décompresser et mettre pluto.dfu et
uboot-env.dfu dans le répertoire
C:\DFU (abandonner les
autres fichiers)
Au final, on a 3 fichiers dans
C:\DFU: UPDATE.BAT,
pluto.dfu et uboot-env.dfu
Sur le Pluto,
presser et maintenir
le bouton Reset (à gauche de la prise USB de
gauche) et enficher le
câble USB. Le faire dans cet ordre. Une fois le câble enfiché,
relâcher le poussoir reset.
Exécuter UPDATE.BAT a) Dans la fenêtre des questions (en bas à gauche du
bureau), taper shell, ce qui ouvre la fenêtre
d'exécution des lignes de commandes. b) Aller dans
C:\DFU c) Taper UPDATE.BAT uboot-env.dfu
<RETURN> Le script se déroule et se
termine par "done". d) Taper UPDATE.BAT pluto.dfu
<RETURN> Pendant
plusieurs minutes le script se déroule et se
termine par "done". e) Taper Exit pour fermer la fenêtre
Enlever et remettre le câble USB
du Pluto. Le reboot se fait et la LED de
droite brille et celle de gauche clignote.
On retrouve
PlutoSDR (D:) dans
l'explorateur de Windows (ou F: ou G: ou autre
suivant l'arborescence du PC) et on peut en voir le
contenu.
On retrouve IIO (résumé de "Pluto SDR IIO
USBD") dans le gestionnaire de périphériques (sous
"Périphériques Serial Universal Bus"). Idem sous "cartes réseau":
Pluto SDR USB Ethernet
/RNDIS gadget.
La plupart des utilisateurs du Pluto utilisent le
logiciel OBS
pour envoyer des images et des commandes au Pluto. L'avantage d'OBS
c'est sa gratuité totale mais alors, il faut bien avouer que c'est
une usine à gaz à utiliser, il n'est pas du tout intuitif. Et ça
pour moi c'est très important car s'il faut à chaque fois
consulter le manuel avant utilisation, c'est très dissuasif,
en tous cas pour moi. Par contre je travaille depuis assez longtemps
avec vMix
et j'en suis enchanté. On doit rarement ouvrir son manuel et il met
une version gratuite à disposition des amateurs. La description qui
suit est donc faite pour vMix.
La version BASIC de vMix
est indéfiniment gratuite (si on la déclare pour une utilisation non
professionnelle sinon la durée d'essai est de 60 jours), mais elle
est limitée à la résolution de 768 x 576 pixels. Il faut la première
version payante (60 Dollars) pour pouvoir travailler en HD (Haute
Définition) 1980 x 1080 pixels, voire plus en 4k. Le
passage de l'une à l'autre se limite à entrer la nouvelle clé dans
le logiciel après l'avoir acheté sur Internet. C'est fait en quelques
minutes.
Le logiciel vMix doit être ouvert et le Pluto relié au PC au moyen de son câble USB.
La prise USB
d'alimentation du Pluto doit rester libre car le PC alimente ce
dernier via le câble USB "datas".
Que faut-il pour envoyer des images au
Pluto ?
Le logiciel fait par Evariste F5OEO est un
serveur
RTMP (Real
Time Messaging
Protocol), donc un service Windows (un logiciel qui
fonctionne en tâche de fond), et qui transfère des données vers un
client en mode connecté (avec handshake). Ce protocole a été
développé par la firme Adobe afin de transmettre un flux de données
en streaming (en continu), le "client" étant généralement un lecteur vidéo
Flash, également développé par Adobe. Dans notre cas, le
récepteur sera le logiciel du Pluto et l'émetteur vMix et la
communication entre eux se fera au moyen du protocole
RTMP.
A noter qu'Evariste a développé une nouvelle version du firmware qui
utilise le protocole UDP comme moyen de communication afin de pouvoir également
transmettre du H.265, nous y reviendrons ultérieurement.
Fig 1: Commande du Pluto par USB et ligne de
commande (protocole RTMP)
L'architecture du système est donc la suivante:
Logiciel
vMix,
il génère la ligne de commande RTMP pour le Pluto et envoie la vidéo et l'audio via le logiciel FFMPEG qui
fait l'encodage du TS.
Un câble USB (du PC) au Pluto (Micro
USB)
Le Pluto avec le firmware (logiciel
interne) d'origine remplacé par celui d'Evariste F5OEO. Lorsqu'on travailler en RTMP, les commandes du firmware
d'Evariste sont court-circuitées.
vMixchoisit les sources vidéo (images, vidéos, caméras,
navigateur Internet, etc. Il assemble ensuite ces données de
façon à former un flux TS (Transport Stream) en fonction des paramètres qu'on lui donne et
qu'il fait exécuter, en tâche de fond, par le logiciel FFMPEG.
Il faut donc renseigner les champs des paramètres de vMix afin
que ce dernier envoie son Transport Stream au logiciel Pluto en
le faisant au préalable traiter par FFMPEG. A noter que le
protocole RTMP ne permet pas de faire du H.265, seulement du MPEG-2
et du H.264. Pour du H.265, il faut passer au protocole UDP(User Datagram Protocol), qui permet la transmission de données à un ou
plusieurs récepteurs sans contrôle de flux (handshake).
La communication se fait par une ligne de
commande envoyée par vMix au Pluto et qui dit où envoyer le
TS et avec quelles caractéristiques. Les paramètres qui suivent
sont ceux que j'ai utilisé pour générer un
SR de 500.
Ce qui signifie: 192.168.2.1:7272/ URL du Pluto.
192.168.2.1, port 7272 ,2406.75
fréquence d'émission en MHz: 2406,750 MHz ,DVBS2
mode (DVB ou DVBS2): DVBS2 ,QPSK
Constellation (QPSK, 8PSK, 16PSK), QPSK est la seule
permise en DVBS ,500
SR (33 à 2000): 500 ,12
FEC 1/2 (12,23,34,67,78...): 3/5 ,0
Gain en dB (-71..0): 0 = puissance maximum
Attention aux virgule, les séparateurs, aucune erreur n'est
tolérée!
Streaming settings
Cette ligne de commande est à mettre dans la
fenêtre "Streaming Settings" qui s'ouvre lorsque vous cliquez sur
(=
paramètres) qui se trouve à gauche du bouton marqué Courant,
tout en bas de l'écran de vMix.
Fenêtre "Streaming Settings"
Votre indicatif, nom du flux ou de la, doit être
entre virgules:
Nom du flux ou de la:,HB9AFO,
La qualité doit être choisie dans la liste qui
apparaît en cliquant sur le signe
˅
(à droite du champ):
Qualité:H264 576p 280kbps AAC 64kbps
Les autres champs doivent être remplis comme sur
la copie d'écran ci-dessus.
Streaming quality
Les autres paramètres doivent être entrés dans la
fenêtre "Streaming quality" qui s'ouvre en cliquant sur le bouton
(=
paramètres") qui est à droite du champ "Streaming quality"
ci-dessus.
Fenêtre "Streaming quality"
Remplissez
cette fenêtre comme ci-dessus.
Video bit Rates est le paramètre le plus
important pour que les images soient fluides. C'est la taille du
flux vidéo. Compte tenu de la place disponible dans le TS (en
fonction du SR, du FEC et de la résolution de l'image et du son), il
faut le choisir au plus juste. S'il est trop grand, le son sera
coupé et les images auront le hoquet. S'il est trop petit, il y aura
le son mais les images seront de mauvaise qualité (pixellisées).
Video bit Rates: 280 kbps
Encode Size est la résolution de l'image
Encode Size: 768 x 576
pixels
Audio Bit Rate est la t aille du flux du
son. 64 kbps est le minimum
Audio Bit Rate: 64 kbps
Copiez les autres paramètres tel-quels.
Pour résumer, vous recopiez le contenu des deux
fenêtres ci-dessus tel-quel et vous obtiendrez un TS avec des images
bien fluides et d'une définition agréable et un son de bonne qualité
avec un SR de 500 kS/s et un FEC de 1/2.
Boutons en bas d'écran
N'oubliez pas de cliquer sur le bouton Externe
(il doit devenir rouge) sinon vous n'aurez aucun signal en
sortie.
Le Pluto passe en émission en cliquant
sur le bouton
"Courant". Il passe au rouge en émission.
S'il reste jaune, c'est qu'il y a une erreur et que le logiciel
ne peut pas envoyer le flux désiré vers le Pluto. Une fenêtre en
indiquera la raison.
La suite décrira quelques commandes de vMix et
leur fonctions mais vous pouvez déjà consulter le
guide en anglais pour
prendre de l'avance.
La première chose à faire est d'entrer les
paramètres d'émission tels que décrits ci-dessus. Il resteront
mémorisés lorsque vous éteindrez le PC. Tant que vous ne changez pas
les caractéristiques d'émission (fréquence, SR, FEC, etc,), la seule
chose à faire au démarrage sera de cliquer sur le bouton "Externe"
au bas de l'écran. Il deviendra rouge ce qui indiquera que vMix sera
prêt à envoyer des données au Pluto. Attention: quelquefois vMix se
reboote (s'arrête et redémarre) lorsque vous modifiez un paramètre,
ce qui oblige à re-cliquer ensuite sur le bouton
car celui-ci se désactive au reboot. Ne pas oublier de le faire!
Ensuite il faut préparer les sources vidéo
(entre 1 et 4) qui se mettront dans 4 fenêtres au bas de l'écran.
Ceci fait il faudra en envoyer deux dans les deux grandes fenêtres
en haut de l'écran. La fenêtre de droite est la fenêtre d'émission,
celle qui est actuellement envoyée au Pluto et celle de gauche la
prochaine.
Pour les premiers essais, il faut au minimum une
source, par exemple une mire.
1. Sélection d'une image,
une mire par exemple
Cliquez sur le bouton,
à gauche au bas de l'écran
La fenêtre "Input select" s'ouvre et affiche un menu avec
les options suivantes:
Cliquez sur Image et
sélectionnez celle que vous désirez dans le répertoire ad-hoc.
Vous êtes là dans l'Explorateur Windows dont je ne détaillerai
pas l'utilisation, celle.ci vous étant certainement connue.
Clquez sur OK et l'image de la mire se
met dans la première fenêtre en bas de page et dans la grande
fenêtre de droite, prête à être transmise.
D'autres images, jusqu'à 3 supplémentaires peuvent être
sélectionnées de la même façon. Au final, les 4 fenêtres en bas
de page seront remplies.
Passage d'une image à une autre
A ce stade, vous avez la première image, la mire,
sur la grande fenêtre de droite, rien sur la fenêtre de gauche et 4
dans les 4 petites fenêtres du bas. Pour envoyer une image du bas
vers la fenêtre de préparation, la grande du haut à gauche, il
suffit de cliquer sur l'image à envoyer.
Et pour faire passer l'image de gauche (haut)
vers la fenêtre d'émission, la droite, il faut faire glisser la
manette (au centre, entre les deux fenêtres) de gauche à droite
avec la souris. L'image de gauche remplacera celle de droite et
vice-versa.
Les boutons au centre, entre les deux
fenêtres, permettent de donner un effet de transition lors du
passage d'une image à une autre. Essayez par exemple de cliquer sur
le troisième bouton depuis le haut et vous verrez les images se
permuter avec la transition choisie. Pour changer de type de
transition, ouvrez la liste déroulante en cliquant sur le flèche à
droite du bouton. Essayez-les, c'est la meilleure façon de les voir
en action!
A ce stade, nous avons donc 4 images fixes que
nous pouvons émettre avec des effets de transitions.
Pour faire
passer le Pluto en émission, il faut cliquer sur le bouton
(Courant).
Choix d'autres sources
Sans vouloir explorer tous les types de sources
que supporte vMix (consultez le
guide en anglais pour
cela), voici les plus utilisées:
Pour toutes les sources qui sont décrites
ci-après, il faut à chaque fois débuter par un clic sur le bouton ,
à gauche au bas de l'écran.
Pour enlever une source d'une des petites
fenêtres, cliquez sur "Close"
2. Diaporama de photos
Cliquer sur l'option "Photos"
et entrez le chemin du répertoire où se trouvent les photos
Ceci fait, cliquez sur OK et la
première image du diaporama viendra se placer dans une des
petites fenêtres
Il suffit maintenant de cliquer sur "Play"
pour que
le diaporama se mette en route dans la petite fenêtre. Si vous
désirez qu'il tourne en boucle en continu, cliquez sur "Loop"
Vous pouvez maintenant transférer le
diaporama dans la grande fenêtre de préparation (en haut à
gauche) en cliquant sur la petite fenêtre où il se trouve.
3. Fichier vidéo
Cliquer sur l'option "Vidéo"
et sélectionnez le fichier désiré (.mp4, .mpg ou autre)
Ceci fait, ciquez sur OK et la
première image de la vidéo viendra se placer dans une des
petites fenêtres
Il suffit maintenant de cliquer sur "Play"
pour que
la vidéo se mette en route dans la petite fenêtre. Si vous
désirez qu'elle tourne en boucle en continu, cliquez sur "Loop"
Vous pouvez maintenant transférer cette
vidéo dans la grande fenêtre de préparation (en haut à
gauche) en cliquant sur la petite fenêtre où elle se trouve.
Pour faire coïncider les images et le son
(mouvements de la bouche entre autres), allez dans le
menu"Paramètres" (en haut tout à droite), puis l'option "Audio",
et mettre la valeur adéquate dans "Entrée par Défaut Audio
Delay". Chez moi j'ai dû mettre 456 millisecondes
4. Caméra
Cliquer sur l'option "Appareil
photo"
Cliquez sur la fléche
à droite du champ "Appareil photo" afin d'ouvrir la liste des
appareils connectés et sélectionnez la caméra désirée, par
exemple "HD Webcam"..
Une fenêtre s'ouvre alors avec les valeurs
par défaut de cette caméra:
Acceptez-les tels-quels en cliquant sur OK
si vous n'avez pas de raison de les changer
Par contre, si vous devez diminuer au
maximum la taille du flux que vous allez générer, par
exemple parce que vous avez programmé un faible SR (Symbol
Rate), il vous faudra abaisser au maximum la résolution de l'image ainsi que son nombre d'images par
seconde (Frame Rate). Le "Format vidéo" devra
s'accorder avec celui que délivre la caméra.
Même chose pour le son (format audio),
dont vous pouvez changer la source (micro du PC, micro externe
ou autre) si vous le désirez
Ceci fait, cilquez sur OK et l'image
générée par la caméra viendra se placer dans une des petites
fenêtres
Vous pouvez maintenant transférer cette
image dans la grande fenêtre de préparation (en haut à
gauche) en cliquant sur la petite fenêtre où elle se trouve.
5. Bandeau défilant
Sélectionnez l'option "Titre/XAML"
Lorsque la fenêtre "Title" (titre)
s'ouvre, cloquez sur l'option "Ticker" du menu qui se
trouve en haut de la fenêtre.
Double-cliquez sur l'image marqué "TickerHD"
qui vous générera un bandeau défilant avec un fond rouge et du
texte en blanc.
La fenêtre suivante s'ouvrira:
Le texte en bleu, en latin quelle idée
saugrenue, représente celui qui va défiler. La première chose
est donc de le remplacer par votre propre texte. Deux solutions
se présentent: soit écrire directement ici le texte que vous
voulez y mettre, soit enregistrer un fichier texte qui le
contient et que vous pourrez rappeler à chaque fois que vous
voudrez créer un bandeau défilant (car il ne reste pas mémorisé
par vMix) .. J'ai moi-même créé le fichier "bandeau.txt" avec le contenu
suivant: "HB9AFO Michel JN36GN, vMix + Adalm-Pluto + 40 Watts
+ parabole offset 1,2m". Avant de créer un bandeau je
rappelle ce fichier avec l'Explorateur Windows et je fais un
copier-collé du texte dans la fenêtre de l'éditeur de titre
ci-dessus. On peut bien-sûr changer la police, la taille et la
couleur des caractères au moyen du menu de cette fenêtre.
Il faut encore modifier la vitesse de
défilement car celle-ci est trop lente, en tous cas chez
moi. Il faut cliquer sur l'horloge du menu pour cela. A la place
de "00.02.00" mettre "00.01.00" ou ce qui vous
conviendra.
Finalement cliquer sur le bouton "Vivez"
(quelle traduction!), en bas à gauche de la fenêtre de l'éditeur
de titre, pour mémoriser tout cela, du moins jusqu'à la
fermeture du programme car vMix b^ne le conserve pas d'une
session de travail à une autre.
A noter que vous pouvez à tout moment revenir
à cet éditeur en cliquant, avec le bouton droit de la
souris , dans la fenêtre qui contient le bandeau et en
sélectionnant "Tite editor" (éditeur de titre).
Lorsque vous voudrez faire apparaître ce
bandeau en superposition sur une image émise, il faudra
transférer l'image du bandeau dans la fenêtre de préparation, la
grande en haut à gauche. Et ensuite faire glisser avec
la manette le bandeau sur l'image en cours de transmission
(grande fenêtre de droite) de façon à superposer le bandeau sur
l'image avec la transparence voulue. Si vous allez jusqu'au bout
de la course la manette, vous inversez alors le contenu des deux
grandes fenêtres. Vous pouvez cliquer sur le bouton "Couper"
pour permuter les deux contenus.
Tout d'abord chargez l'application gratuite
Larix Boradcaster dans votre
smartphone.
Allez ensuite dans les paramètres en cliquant sur la roue
dentée à droite en haut de l'écran de Larix. Choisir
"Connections" puis "New connection". Entrez
le nom de la caméra, par
exemple "SRT" puisque c'est le protocole utilisé pour entrer
dans vMix
Ensuite l'URL. C'est l'adresse IP du
PC où se trouve installé vMix. Par exemple,
102.168.1.101. Sur le PC, on la trouve en tapant "exécuter" dans la fenêtre de recherche de
Windows (en bas à gauche de l'écran), puis "cmd". Et
finalement "ipconfig"+ [Return]. Sous "Carte Ethernet"
vous trouvez "Adresse IPv4", c'est elle. Il faut alors
entrer l'URL sous cette forme:
srt://192.168.1.101:9002
Le dernier nombre, "9002" dans l'exemple
ci-dessus, représente le numéro de port. On peut y mettre ce qu'on
veut pour autant qu'il ne soit pas déjà attribué à un autre
périphérique.
Dans vMix
Créer une nouvelle entrée avec "Add input".
Choisir
l'option "Stream/SRT". Stream type:
SRT (listener), Port
9002 (par exemple). Laissez les autres paramètres tels-quels et cliquez sur "OK". On doit obtenîr un Vu vert à
droite de "Outgoing connections".
Pour terminer, revenez dans la fenêtre de prise de vue (2 x
sur flèche à gauche). Là vous avez maintenant un
gros bouton rond rouge sur
lequel vous devez presser pour démarrer la transmission de
l'image et du son.Vous avez bien-sûr tout loisir de
modifier les paramètres de fonctionnement en allant dans la
fenêtre "Settings" (la roue dentée).
Par défaut, les images sont en haute définition, en 1920 x
1080 pixels (full HD), elles sont superbes. La liaison se fait
en WIFI entre le smartphone
et vMix. Cela présuppose que votre PC est relié à votre box
Internet soit par WIFI soit par câble via votre réseau local si
vous en avez un.
vMix avec le smartphone "SRT 9002" en fenêtre 1
et en sortie avec un bandeau défilant
Captée par le smartphone
et, via vMix, encodeur et Pluto, transmise sur QO-100 en SR 333 et FEC 3/4 (Copie d'écran VLC du retour de QO-100 reçu par Minitioune)
Add input \ NDI/Desktop capture \
Local desktop capture
On obtient les icônes des logiciels ouverts
Il suffit ensuite de cliquer sur le logiciel
désiré et il s'affiche dans la nouvelle fenêtre. Il faut que le logiciel soit ouvert ou en fenêtré mais s'il est
mis en attente il n'apparaît pas.
La fenêtre "Desktop capture" présente le logiciel
SDR# qui est ouvert sur le bureau
Transférez cette petite fenêtre crée vers la
fenêtre de sortie, en haut à droite.
Un clic droite sur la fenêtre de sortie vous
dira ce que vous pouvez maintenant faire. Activez la souris et le clavier (Mouse Enabled et
Keyboard
Enabled)
Maintenant vous pouvez naviguer sur ce site
web avec la souris: - clic sur l'ascenseur pour naviguer de haut en bas d'une
page - clic droit puis Go Forward ou Go Back pour
avancer ou reculer d'une page
Web browser présente le site "www.hb9afo.ch"
9. Audio
Pour mettre du son sur, par exemple, une mire, il
suffit
Add
input, puis Audio
Ensuite il faut entrer le chemin où se
trouve le fichier MP3 ou VAW à jouer
Le fichier s'ouvre dans une des petites
fenêtres du bas.
Cliquer dessus afin de la mettre en Preview (fenêtre à gauche en haut)
Cliquer sur Loop afin que le son se
reboucle (si désiré).
Cliquer ensuite sur Démarrer (la
fléche).
Superposer le son sur celui de la fenêtre de
droite (Output) en faisant glisser la manette centrale
vers
la droite (ne pas dépasser le milieu). On commence à entendre le
son si on écoute le retour de l'émission.
On peut ajuster le niveau audio en
cliquant sur la roue dentée (=
propriétés) de la petite fenêtre du son. Puis Audio settings
et finalement Gain.
Pour couper le son, remettre la manette
centrale à gauche
Lorsque je met en route l'encodeur avec
Firefox, il arrive quelquefois que je ne puisse pas l'atteindre.
Je viens de comprendre pourquoi.
Il faut plusieurs dizaines de secondes pour que l'encodeur soit
opérationnel après sa mise sous tension. Si j'essaye d'y accéder
avant la fin de ce processus, Firefox va me répondre qu'il n'est
pas atteignable, ce qui est normal. Mais si alors je refais la
même tentative avec le même URL, je reçois à nouveau la même
réponse: "Cet URL ne peut pas être atteint". La raison est que
Firefox (et tous les autres browsers aussi mais je n'en suis pas
certain) rajoute automatiquement un "s"
après "http" lors de la
seconde tentative, automatisme destiné à protéger la
communication. Et comme l'adresse est "http://192.168.1.120"
et pas " https://192.168.120",
la tentative de connexion n'aboutit pas. c.q.f.d.
Avec ma chaîne de transmission DVB-S, je
procède toujours dans le même ordre: démarrage de vMix (démarrage physique du logiciel), puis de l'encodeur (via
Firefox à 192.168.1.12) et pour finir du Pluto (via
Firefox à 192.168.1.8). Systématiquement, je constate que
l'encodeur a perdu la définition de sa source HDMI (que j'ai
définie à 1920x1080 pixels) et qui est maintenant vide et la
cadence de numérisation du son, que j'impose à 48kHz et qui
revient à 32kHz. Je dois donc me rappeler que je dois
quelquefois
re-écrire ces paramètres dans l'encodeur:
- Video/Audio \ Video \ Resolution: inscrire
1920 x 1080
pixels au lieu de rien. Faire un Save - Video/Audio \Audio \ bite rate:
inscrire 48k au lieu de 32k (32k donne un mauvais son).
Faire un Save - Et pour terminer System/Maintain: cliquer sur
System
reboot (ça dure quelques dizaines de secondes)
- Si la résolution est toujours vide, déconnecter et
reconnecter la fiche HDMI de l'entrée de l'encodeur. Ca
redémarre la synchronisation HDMI entre le PC et l'encodeur. On
voit ensuite la LED bleue de l'encodeur clignoter rapidement, ce
qui indique que la liaison HDMI est OK. Un autre signe que le
HDMI est connecté c'est que l'écran devient noir à deux reprises
pendant 1-2 secondes, signe que la connexion se fait.
On peut constater ensuite, avec l'analyseur du firmware du Pluto,
que le flux TS est bien envoyé au Pluto par l'encodeur, ce qui
n'était pas le cas avant (analyseur vide). Si le Pluto ne reçoit
pas ce flux, il ne peut pas passer en émission lorsqu'on
clique sur PTT.
Je précise que tout cela ne concerne que l'utilisation d'un
encodeur externe. Avec vMix relié par USB au Pluto, on n'a pas
ces problèmes, mais en contrepartie de moins bonnes images en
sortie.
Il est possible d'utiliser un smartphone
sans carte SIM comme caméra ou même pour commander des
applications sur Internet. Je l'ai fait pour installer "Larix
Broadcaster" et ça se passe parfaitement bien par le WIFI, mais
évidemment à condition qu'on ait une connexion Internet filaire
pour sa TV ou son PC (le tout en réseau local chez moi).
Puisqu'on n'a pas de carte SIM dans le smartphone, on ne peut
évidemment pas passer par le réseau téléphonique mobile. On peut
donc recycler d'anciens smartphones en caméras, ne les jetez
pas! On peut en connecter plusieurs simultanément sur vMix, dans
la limite des entrée possibles (4 au maximum avec la version
gratuite).
En mode caméra, la batterie du smartphone se vide rapidement,
dans les une heure pour le mien. Il est donc souhaitable de
l'alimenter en permanence en laissant son câble USB connecté.
Pour info, j'ai sélectionné mon dernier smartphone en fonction
de la qualité de ses photos. C'est un Google Pixel 4.
En réception DVB-S, j'utilise le logiciel
Minitioune suivi de VLC en UDP pour visualiser les images. Quelquefois VLC se bloque et il faut le redémarrer en lui
redonnant l'URL du flux d'entrée. Après quelques heures d'essais
avec de la musique (afin de pouvoir déceler des coupures de
son), je viens d'en découvrir la raison.
Ces blocages sont provoquées par des pertes de paquets, images
et son, du flux d'entrée. Avec mon H.264/H.265 encoder, je peux
définir assez finement les birates et c'est ce qui m'a permis
d'éliminer les coupures de son, et maintenant les coupures de
VLC.
Les pertes de paquets audio provoquent de brèves interruptions
du son et cela s'entend à l'oreille. Pour les images cela
se voit moins car le logiciel de réception fige alors la
dernière image reçue et si la coupure est brève on n'y voit que
du feu d'où la nécessité d'avoir des images en mouvement pour
valider une réception. Rappelez-vous le réveil qu'utilisait
Bernard F5DB lorsque nous faisons des essais il y a quelques
années! On peut donc dire que VLC est un "détecteur de paquets
perdus" puisqu'il se bloque dès qu'il y en a un.
La solution: régler son bitrate de façon à ne pas
dépasser le flux maximum transmissible. Avec [CTRL
J], VLC permet d'afficher les statistiques du signal
reçu et on y voit le nombre de paquets perdus. C'est l'option
Information sur les codecs
du menu, onglet Statistiques.
Si on alimente le Pluto par une tension
externe, il ne faut pas dépasser 4.9V. Sinon la LED clignote
mais le Pluto reste inaccessible.
Du point de vue HF, une émission DATV doit être
caractérisée par sa fréquence et
sa puissance.
Il faut ensuite déterminer les paramètres de
l'émission DATV proprement-dite, qui sont:
La norme TV (Digital Video Broadcasting - Satellite):
DVB-S ou
DVB-S2. La dernière est la plus récente et la plus efficace.
Le type de compression:
MPEG2,
H264, H265,
développés chronologiquement dans cet ordre. Le dernier est le plus efficace et on gagne plusieurs dB de MER
au passage de l'un à l'autre. Les routines de décodage sont appelés "codecs"
(COdeur-DECodeur)
La
constellation:
QPSK,
8PSK, 16APSK, 32APSK
sont les plus courantes. La constellation représente graphiquement la position de
tous les points d'un Symbole. PSK veut dire
Phase Shift Keying, modulation par déplacement de phase. Ce qu'il y a avant donne le nombre de points de la
constellation: Q=4 (Quadrature), ensuite 8, 16 oui
32 points. le A signifie qu'il y a, en plus de la modulation de
phase, une modulation d'Amplitude, ceci à partir
du 16APSK.
La raison de cette modulation d'amplitude supplémentaire est
facile à comprendre: si on voulait transmettre 16 états par
décalage de phase, il faudrait que le décodeur distingue 2 point
décalés de 360 degrés/16, soit 22,5 degrés, ce qui est difficile
dans le bruit. C'est la raison pour laquelle on n'en met que 12
et le décodeur peut encore bien fonctionner avec cela (30 degrés
de décalage). Les 4 bits restant, on les rajoute en quadrature
décalés en amplitude. Ce sont les 4 bits du centre de la
constellation 16APSK.
Nombre de bits transmissibles par
constellation: (exemple du 8PSK)
Un symbole en 8PSK peut transmettre simultanément 8 états mais
cela fait combien de bits?
On pourrait penser que, chaque bit ayant 2 états possibles, 8
états permettent de transmettre l'état de 4 bits (8 / 2). Mais
c'est oublier qu'on est en digital, pas en analogique. En fait
on transmet l'état de tous les bits d'un symbole à la fois
(illustré par sa constellation), pas seulement celui du bit qui
nous intéresse, voilà l'explication.
Le tableau ci-dessous donne les états possibles de chaque bit
pour chaque phase. On y voit qu'avec un symbole à 8 états,
on peut représenter l'état simultané de 3 bits (23).
QPSK
8PSK
Phase
bits
Phase
bits
degrés
2
1
degrés
3
2
1
00
0
0
00
0
0
0
45
0
0
1
90
0
1
90
0
1
0
135
0
1
1
180
1
0
180
1
0
0
225
1
0
1
270
1
1
270
1
1
0
315
1
1
1
Par conséquent, un symbole peut transmettre simultanément l'état
de:
2 bits en
QPSK 3 bits en 8PSK 4 bits en 16APSK
5 bits en
32 APSK
Dans le souffle, il est plus facile de décoder des Symboles à 4
phases qu'à 8 car l'écart de phase entre chacun d'eux est plus grand. Par
contre, pour un même SR on pourra transmettre plus de
bits en 8PSK qu'en QPSK, ce qui autorisera un débit vidéo plus
élevé, donc une meilleure définition. Le "prix à payer" pour cet
accroissement de qualité d'image est que le signal 8PSK devra
avoir un rapport signal/bruit plus élevé que celui d'un QPSK
pour pouvoir être décodé.
En pratique, on choisira au départ la constellation la plus
facilement décodable, la QPSK. Si le rapport signal/bruit du
signal est assez élevé, on pourra passer au 8PSK afin de gagner
en qualité d'image.
Le roll-off: c'est un rapport qui
définit la forme du spectre du signal, et donc sa largeur de
bande effective. On utilise un roll-off de 0.35, 0.25 et 0.20,
en largeur de bande
décroissante.
Le Transport Stream (TS)
C'est le flux de données à envoyer au
modulateur HF. Il contient le flux vidéo, le flux audio et
quelques flux de service qui permettent au démodulateur
d'attribuer chaque paquet de données à sa source, vidéo, audio
ou autre. En plus, les paquets n'arrivent pas toujours
consécutivement, notamment sur Internet du fait des chemins
différents qu'ils peuvent prendre.
Un TS est caractérisé par:
Le SR (Symbol Rate
), nombre de Symboles en kS/s (kilo Symboles
par seconde). C'est la vitesse de transmission du flux de données. Plus le SR
est élevé et plus on pourra transmettre de bits par seconde et
donc plus l'image pourra être détaillée et fluide. Le SR les plus couramment utilisés en DATV sont
1000,
500, 333,
250, 125,
66, 33 et
20 kS/s. La mire d'Oscar-100 est transmise avec un SR
de 1500.
Le FEC à utiliser (Forward
Error Correction ou correction
prédictive). Il ajoute à chaque paquet de données des bits qui permettent, à
la réception, de le reconstituer, même si les aléas de la
propagation en ont rendu quelques-uns illisibles. Les paquets
ayant tous un nombre de bits fixes, 188, les bits de corrections
dédoubleront des bits de données. Le FEC est la proportion de
bits utiles dans un paquet, les restant sont des bits
redondant de correction. Par exemple, un FEC de 3/4
signifie que le paquet contient 3/4 de bits utiles, 1/3
signifie 1/3 de bits utiles, etc.
Les valeurs normalisées sont, dans l'ordre décroissant de
l'amplitude la correction:
Corrections importantes
1/4, 1/3,
2/5, 1/2,
3/5, 2/3,
3/4, 4/5,
5/6, 8/9 et 9/10.
Corrections faibles
On voit donc que tous ces paramètres sont
interdépendants, ce qui en complexifie le choix. En pratique ce
n'est toutefois pas trop difficile car les équipements ont déjà
eux-mêmes des limitations ce qui élimine déjà quelques possibilités.
On pourra faire son choix soit en se donnant comme critère de
départ le flux vidéo qu'on désire transmettre et choisir les
paramètres en conséquence. Ou alors l'inverse, se dire "avec le
rapport signal-bruit que mon correspondant aura en réception, quelle
est le flux maximum TV que je peux transmettre?".
De façon générale, il est préférable de débuter
ses réglages avec un FEC important afin de bien corriger un maxim
Calcul du bit rate
(vitesse du flux vidéo)
Dans les deux cas il me faudra tout d'abord
calculer le débit effectif de ma vidéo à l'aide du logiciel gratuit:
Le flux effectif se calculera après avoir entré le SR, la norme DVB
et la constellation, le facteur de roll-off et la valeur du FEC. On
peut oublier les deux derniers.
Par exemple, pour SR=250, DVB-S2/QPSK, 0.35 et
1/2, on obtiendra un TS (Transport Stream) de 0.2475
Mps et donc une bande passante de 0.3375 MHz. Jouez avec les
différents paramètre pour familiariser avec eux!
Il faudra encore prendre le 70% de cette
valeur pour l'entrer dans vMix (Video bit rate) car le TS ne
contiendra pas seulement le flux vidéo mais aussi le son et les flux
de service, il faut donc leur laisser un peu de place.
Encore un détail: pour faciliter le décodage des
flux, nous n'utilisons que des flux à
vitesse constante en DATV (CBR ou Constant
Bit Rate), contrairement à Internet par
exemple, qui travaille en VBR (Variable Bit Rate). C'est la raison pour laquelle les logiciels de codage
vous demandent quelquefois de le préciser.
Le Pluto contient un version de Linux embarquée,
c'est son système d'exploitation. On peut y accéder en mode
console via son adresse IP 192.168.2.1.
Il faut pour cela télécharger un logiciel comme, par exemple, ExtraPutty
(il est gratuit mais il est tout-de-même bon de faire
un petit don d'encouragement via la procédure indiquée).
Cliquer sur "Download latest ExtraPutty" et
installez-le en exécutant le ficher Putty.zip téléchargé
Avec le câble USB connecté entre le PC Windows
(pas besoin d'Ethernet) et le Pluto, ouvrez Putty, inscrivez-y
l'adresse du Pluto et cliquez sur "open".
Une fenêtre d'exécution en mode texte s'ouvre
et vous demande votre login (nom d'utilisateur) et le mot de passe:
Entrez ce qui suit:
login as: root
root at 192.168.2.1's password:
analog
(Chaque commande se termine par une pression sur
[Enter])
Vous obtenez alors:
Et voici dans le système d'exploitation du Pluto,
prêt à recevoir vos commandes. La version est indiquée sous le titre
"PlutoSDR" et l'adresse où obtenir des indication également.
Pour obtenir la version du firmware:
iio_attr -a -C
fw_version
Réponse:
Using auto-detected IIO context at URI "local:" fw_version: v0.31-4-g9ceb-dirty
Donc ici version v0.31-4-g9ceb-dirty
Yapluka mais on peut déjà entrer sa première
commande Linux: exit !
Cette commande ferme la fenêtre et termine la
session Linux.
Voici les paramètres que j'ai déterminé pour
différents contenus de transmission et pour l'ensemble vMix-Pluto.
Le résultats (que j'espère encore perfectible) de nombreuses heures
d'essais.
Diaporama de photos en haute
résolution (1280 x 720) (Nécessite la version payante de
vMix sinon la résolution est limitée)
DVBS-2,
QPSK,
SR 500,
FEC 2/3 VBR
340,
1080x720 pix,
son
64k Preset
medium, keyframe freq:
1sec,
threads: 5,
network buffer:
30sec autres paramètres: par défaut
Il faut donner le nom du
répertoire où trouver les photos à afficher avec l'option
Photos de la fonction
Rajouter une entrée. On peut régler le
temps d'affichage
de chaque photo avec un clic droit sur l'image,
Slide Show Settings et
transition, 5 sec
chez moi. La définition de sortie
(dans "paramètres") doit rester à 768 x 576 (on ne peut pas
mieux).
Depuis que nous expérimentons la DATV, tous nos
efforts ont porté sur l'amélioration de la résolution et la fluidité
des images transmises. Au début, les images étaient relativement
floues, saccadées et pixellisées lors des mouvements de caméra. Cela
tient à la faible bande passante que nous utilisons, résultant de
l'utilisation de low SR compris entre 1000 et et 33 kS/s. L'avantage
est bien-sûr de gagner en efficacité et de pouvoir caser un maximum
de station dans une bande donnée, typiquement sur le satellite
Oscar-100. L'arrivé du SDR ADALM-Pluto a changé la donne et de
belles qualités ont été obtenues, dépendantes tout de même de la
puissances des équipements utilisés. Une limite claire est cependant
apparue car les logiciel de gestion des images, vMix et OBS, font
tous deux appel au puissant mais complexe logiciel FFMPEG qui génère
le TS (Transport Stream) à faire parvenir au Pluto. Il faut là
saluer le magnifique travail effectué par Evariste F5OEO qui a
développé le firmware (logiciel interne) DVB-Pluto adapté à notre
usage.
La limite de la rapidité d'encodage des PC,
proportionnelle à leur puissance, était ce qui limitait la
qualité des images générées. Une des solution trouvé fut d'utiliser
la puissance des cartes graphiques contenues dans le PC, qui ont été
spécialement développées pour traiter des images. La carte NVidia en
est un exemple. Mais il y a un problème: tous les PC ne sont pas
équipés de cartes NVidia et tous les modèles de cette marque ne
peuvent être utilisées par des logiciels externes et donc ne
conviennent pas à notre application. La solution est venue avec
l'apparition d'un encodeur hardware externe, l'encodeur H264-H265
bien connu maintenant et qu'on peut se procurer sur Internet pour 60
Euros. C'est lui qui génère le TS à envoyer au Pluto, sans
nécessiter l'intervention d'un PC. C'est avec un tel ensemble
"Encodeur-Pluto" plus un PC pour modifier les paramètres d'émission,
qui permet au amateurs que nous sommes d'obtenir actuellement la
meilleure qualité sans devoir faire appel à des codeurs
professionnels hors de prix.
Mise en service simple de l'encodeur
Afin de voir le plus rapidement possible des
images générées avec cet équipement, j'ai imaginé un processus très
simple que j'appelle "Mise en service de
l'encodeur H265 pour les nuls" pour paraphraser la série
de livres bien connue. Pour ce faire, j'ai limité mes ambitions à ne
m'occuper, dans un premier temps, que des images et pas du son car
ce dernier n'est pas générable sans autre par l'encodeur. Il s'agit
d'un malheureux oubli du développeur qui a omis le switch "son on
-off". En conséquence, le son est bien généré par l'encodeur mais
n'est pas transmis au Pluto, son flux est vide. Nous en reparlerons
donc ultérieurement.
Mise en service
Elle se fait en trois étapes:
Raccorder l'ADALM-Pluto au réseau local
Ethernet par l'installation d'un convertisseur Ethernet-USB
Fourniture des images à l'encodeur (caméra
Gopro dans mon casI)
Connexion de l'encodeur au Pluto avec le
câble USB (qui alimente du même coup le Pluto)
Paramétrage du tout.
Grâce à cette modestie de mes exigences, j'ai pu
réaliser ces opérations en une demi-journée. J'ai reçu mon
convertisseur Ethernet-USB à midi et ce soir mon système générait
ses premières images en haute résolution sur Oscar-100. En voici
une:
Résolution 1280 x 720 pixels transmis avec un SR
de 500 et un FEC de 3/4.
Plus le SR est élevé et plus la qualité des
images est bonne mais dans mon cas, j'atteins déjà le maximum avec
un SR de 500. C'est celui que j'utilise le plus fréquemment sur le
satellite pour faire mes essais de qualité d'images car je ne peux
pas travailler avec un SR de 1000 à cause de la puissance modeste de
mon PA (40 Watts). Les SR inférieurs, 333 et 250 kS/s que j'ai
testés, donnent de bons résultats avec bien-sûr avec des images plus
floues. Par contre elles sont fluides et leur temps de latence
n'excède pas 3-4 secondes ce qui est tout-à-fait acceptable. J'ai
testé le SR de 1000 et là je peux faire passer la définition à la
vraie haute définition, 1980 x 1080 pixels. Mais il faut de la
puissance rayonnée pour ce SR-là, diamètre de la parabole x la
puissance du PA, ce que je n'ai pas (1,2m x 40 Watts). Mais cela
viendra...
La première étape est d'équiper le Pluto d'une
entrée Ethernet en remplacement de l'USB et pour cela il faut tout
d'abord attribuer une adresse IP au Pluto, et ensuite remplacer son
câble USB par l'adaptateur Ethernet.
Adresse:
Le plus simple et le moins aléatoire est de lui
attribuer une adresse fixe afin que cette dernière ne change pas au
gré du DHCP du réseau PC. Ce service attribue automatiquement les
adresses IP aux périphériques du réseau au démarrage de ce dernier,
ce qui est pratique mais a l'inconvénient de voir les dites adresses
changer d'une démarrage à l'autre. Avec une adresse fixe pas de
problème, on la connaît et on peut la paramétrer de façon fixe et
l'oublier ensuite.
Pour ma part, et pour suivre le conseil de F5UII,
j'ai choisi l'adresse 192.168.1.8 comme adresse du Pluto. Il
suffit de l'inscrire dans le fichier config.txt qui se trouve
dans le répertoire racine du Pluto, chez moi PlutoSDR (G:),
visible avec l'explorateur de Windows. Double-cliquer sur config.txt
et ce dernier s'ouvrira au moyen, en principe, du Notpad Windows
puisqu'il s'agit d'un fichier texte. I, ne reste plus qu'à rajouter
l'adresse IP désirée (192.168.1.8) à la place vide en face de
Par
défaut cet emplacement est vide ce qui indique à Pluto qu'il doit
demander son adresse au DHCP. Si cet emplacement est
renseigné, c'est cette adresse qui sera imposée au Pluto.
Laisser tout le reste du texte de ce fichier
inchangé.
Pour terminer, il suffira d'enregistrer le
fichier (menu "enregistrer" du Notepad) et ensuite, très important
et à ne pas oublier, éjecter le Pluto USB en cliquant sur
l'icône en bas à droite du bureau, comme à chaque fois qu'on veut
que le Pluto mémorise une modification. Si on ne le fait pas, le
contenu du Pluto restera inchangé.
Câble Ethernet:
Il faut maintenant connecter physiquement le
Pluto au réseau local car l'Encodeur n'a que ce moyen pour
communiquer avec l'extérieur. Ce dernier enverra le flux TS au Pluto
mais en retour il recevra les commandes de ce dernier, notamment le
bitrate ce qui s'avèrera très pratique.
Il faut donc commander un adaptateur Ethernet-USB
avec comme entrée un prise femelle RJ45 et en sortie une fiche mâle
micro-USB, du type de celle qui équipent les smartphones. J'a porté
mon choix sur un I-Tec adaptateur réseau USB-2 (No 1596063)
et OTG type MicroB-A0, 2M (678089) de chez Conrad, car
l'adaptateur Ethernet sort sur une fiche USB standard.
Il suffit alors de relier la sortie le tout cela
à l'entrée "commande" du Pluto (celle de gauche vue de l'arrière).
Ensuite il faut alimenter le Pluto en 5V et pour cela il suffit de
plugger l'ancien câble USB sur la prise "alimentation" de droite.
Tout ceci parce que câble Ethernet ne transporte pas de 5V. Au
final, le nouveau câble Ethernet sera à gauche et l'ancien câble USB
à droite. On peut laisser l'autre extrémité de ce dernier connecté
au PC ou alors le relier à une alimentation secteur USB puisque seul
le 5V nous intéresse sur ce câble.
C'est tout ce qu'il y a à faire, l'entrée-sortie
Ethernet n'exige ni installation soft ni driver.
A partir de là, on peut communiquer avec le Pluto
en inscrivant la nouvelle adresse IP 192.168.1.8 dans son navigateur Internet, Firefox dans
mon cas. Cette adresse nous amène à la page d'accueil du
serveur du Pluto:
Welcome to the
ADALM-PLUTO QO-100/DATV
custom firmware
Thank you for testing this
custom firmware. It is mainly intended to make an easy
plateform for TX/RX on QO-100 satellite but could be
used on other bands.It includes :
DATV DVBS/S2 modulator (33KSymbols to
2MSymbols).
Reduced bandwidth analog TV modulator using NASA
Apollo mode (in development)
HackTV
Warning : This is an experimental firmware maintained
by an amator. Feel free to report bugs, but no warranty
to fix them !
2. Installation de l'Encodeur
Connecter une source HDMI sur l'entrée HDMI
de l'encodeur par exemple une caméra GOPRO ou la sortie HDMI d'un notebook
Alimenter l'encodeur en 12 Volts
Connecter un câble Ethernet RJ45 entre
la prise Ethernet de l'encodeur et un routeur. Le routeur est également relié à Internet, au notebook
(PC portable) de commande et au Pluto
Sur le notebook, ouvrir le browser Internet,
dans mon cas Firefox et taper l'URL suivant sur sa ligne
d'adresse: http://192.168.1.120
(c'est l'adresse IP de l'encodeur)
Une petite fenêtre s'ouvre et demande
d'entrer le nom d'utilisateur et le mot de passe. Cela indique déjà que le browser est bien relié à l'encodeur via
Ethernet.
Taper: User:
admin password:
12345
Ceci fait l'accès fait apparaître le menu de
l'encodeur avec deux onglets;: live view et setting
Un clic sur "live view" fait
apparaître l'image de la source HDMI, ce qui indique que
l'encodeur reçoit bien le dit signal et que l'encodeur
fonctionne (attention, live view ne fonctione qu'en H264, pas en
H265 !)
Un clic sur "setting" ouvre le menu du
paramétrage de l'encodeur. Ouvrez l'option "Network" (réseau) du menu et ensuite
l'onglet "Multicast" afin de donner l'adresse
IP qui enverra le TS (Transport Stream ou flux de
transport) au Pluto.
A ce stade, l'image de l'encodeur s'affiche sur l'écran de
Firefox (le browser) si on clique sur "*Live view" et le flux
est envoyé à l'adresse du Pluto (192.168.1.8) par le protocole
HTTP.
3. Le son
Le firmware de l'encoder a un oubli de taille:
l'ouverture de sa voie son. Evariste vient de modifier son
firmware pour pallier à cet oubli. Il suffit donc d'installer sa
nouvelle version alpha qu'on
trouve ici: http://firmware.hackhamradio.com/alpha/. Il faut bien-sûr
enclencher le son dans le firmware du Pluto "H265/H265 box control
(option)" et donner les paramètres
minimum à l'encodeur afin de minimiser sa prise de place. Ce sont:
Mes efforts ont porté sur l'obtention de la
meilleure qualité possible en terme de résolution et de fluidité des
images. Pour cela, il faut accorder les paramètres et les
optimaliser en fonction du bilan de liaison sur le satellite
(fonction de la puissance d'émission et de la dimension de la
parabole). Dans mon cas j'ai 40 Watts au grand maximum et une
parabole de 1,2 mètre.
Une fois entrés dans le Pluto la fréquence
d'émission et les paramètres qui ne changent pas ou pas souvent:
Callsign indicatif. par exemple
"HB9AFO"
PCR/PTS 1000 (100à 2000 ms) (je
reviendrai sur ce paramètre ultérieurement)
Freq Manual
en MHz (ex: 2409.750)
Mode DVBS2
Pilots off
Rolloff 0.35
DVB Provider Name par ex son prénom:
"Michel"
PAT Period 300 (de 100 à 1000 ms) (je
reviendrai sur ce paramètre ultérieurement)
Freq Channel Fréquence sur Oscar 100.
On peut laisser "custom". C'est alors la fréquence manuelle (Freq
Manual) qui est prise.
Mod QPSK. L'utilisation des modes 8PSK
ou 16PSK requièrent un bilan de liaison plus élevé (que je n'ai
pas personnellement) mais en contrepartie ils permettent
d'envoyer 4 x et 8 x plus de bits dans le bitrate. QPSK est le
mode qui passe le mieux lorsque le signal reçu n'est pas très
fort. Je n'utilise que celui-là personnellement car je veux que
mon émission puisse être reçue même avec de petits moyens.
Frame longframe
Transverter LO undefined et custom car
je n'utilise pas de transverter. La fréquence entrée dans le
firmware est celle qui sort du Pluto
Il faut maintenant entrer ceux qui déterminent la
qualité qu'on désire obtenir:
Le SR (Symbol
Rate) ( de 33 à 2000 kS/s). Plus il est grand, plus la taille du bitrate sera grande et plus
on pourra transmettre d'images de haute qualité. Le SR détermine la largeur du spectre transmis et sera aussi
choisi en fonction de la place libre sur le satellite.
le FEC (Forward
Error Correction). 1/4 - 1/3 - 2/5 - 1/2 - 3/5 -
2/3 - 3/4 - 4/5 - 5/6 - 8/9 - 9/10 Nombre de bits utiles / nombre de bits transmis. Par exemple 1/4
signifie que chaque paquet transmis comporte 1 bit pour les
données (vidéo, son etc.) et 3 bits de correction qui permettent
de récupérer des paquets perdus dans le QRM/souffle. Par
conséquent, plus ce rapport est élevé (max 9/10) et plus on peut
transmettre d'images et de son de qualité, mais en contrepartie,
plus ce flux sera sensible au QRM et plus le MER (Mean Error
Ratio) devra être élevé pour que le TS passe
sans coupures.
Mes réglages
But: obtenir un rapport D1 en réception en
ajustant le réglage Power du Pluto. Se fait en temps réel, la puissance de sortie se réajuste lorsqu'on
relâche le curseur après l'avoir déplacé.
SR 500 FEC
3/5 Liaison la plus confortable, résolution et
fluidité maximum (1280x720)
SR 333FEC
3/4 Spectre plus étroit donc plus efficace. Moins
bonne résolution (576x432)
SR 250FEC
2/3 Spectre encore plus étroit, résolution encore
moins bonne (576x432). Mais prend peu de place
SR 125 FEC
5/6 Spectre très étroit, images encore moins bonnes,
voire floues (384x288). A réserver pour les liaisons difficiles
On pourra obtenir des résolutions plus élevées si
son bilan de liaison est plus élevé, en utilisant par exemple plus
de 40 Watts sur 2.4GHz ou une parabole plus grande.
Un fois ces paramètres entrée et après avoir
cliqué sur Apply Settings, le
Pluto va renvoyer le bitrate calculé à l'encodeur et celui-ci
adaptera ses paramètres en conséquence. Si on ne voir rien changer
sur ce dernier (option "video" de l'encodeur), il faut cliquer sur
reset. On peut forcer des
paramètres personnels mais il faudra ensuite cliquer sur
save afin de les mémoriser,
sinon ce sont ceux du Pluto qui prendront le dessus.
Dans l'encodeur,
option Video, on doit avoir
Channel Maint stream
Codec type H265
Resolution 1280x720
Key Interval
50
Type CBR
Bitrate520 (réajusté
automatiquement par le Pluto
Quality 5
Frame rate25
fps (réajusté automatiquement par le Pluto
Le son doit être à 32k
Donne de belles images en belle résolution et
très fluides.
IMPORTANT:
Après chaque modification, ne pas oublier de
cliquer sur Apply settings de l'option "Modulator"
du Pluto. Et ensuite de fairereset dans l'option "video" de l'encodeur.
A ce moment-là on
voit le Bitrate de l'encodeur changer, preuve que le Pluto
lui a bien transmis la nouvelle valeur calculée. L'option "Force
compliant" doit bien-sûr être sur "*ON", ce qui indique que c'est le
Pluto qui impose ses paramètres à l'Encoder.
On peut optimaliser les paramètres envoyés par le
Pluto à l'Encoder. Il suffit de les modifier à la main dans le menu
de l'Encoder et ensuite dfe les mémoriser avec "save". Sinon ils
reprendront les valeurs données pas le Pluo après le prochain "Applay
settings".
Je le fais systématiquement car mon bilan de
liaison sur le satellite est un peu juste. Il m'en faudrait un peu
plus afin de pouvoir diminuer le FEC et donc de pouvoir envoyer
plus de bits (bit rate plus élevé). Car mon but c'est la haute
définition (HD) et pour y arriver il n'y a pas 36 solutions: il faut
un maximum de place pour la vidéo dans le TS (Transport Stream).
L'idéal serait de transmettre non plus en QPSK mais en 8PSK voire en
16PSK (2 et 4 x plus de place). Mais le problème c'est qu'il faut un
bilan de liaison nettement supérieur pour pouvoir le faire, ce que
tout le monde n'a pas. La moyenne des stations reçoit avec des
paraboles de 80 ou 100cm mais guère plus ce qui donne des MER trop
faibles pour du 8PSK en réception. Et mon but est d'optimaliser ma
station de façon à être vu par un max de stations, pas seulement par
les mieux équipées.
L'autre paramètre à optimiser est le FEC (Forward
Error Correction), mais là plus on corrige et moins il
faut de MER au correspondant pour me recevoir. Par contre, plus
j'insère de bits de correction dans le TS, ce qui se produit lorsque
j'augmente le FEC (de min 9/10 à max 1/4), plus la réception
est facile (demande un MER moins élevé) mais en contrepartie
plus la définition de l'image est faible. En fonction des réglages,
le firmware d'Evariste du Pluto envoie la définition maximum
possible à l'Encoder.
La solution que j'adopte en ce moment c'est
d'entrer les paramètres désirés dans le controller du Pluto et
ensuite je fais "Apply settings". A ce moment-là ils sont envoyés à
l'Encoder qui réajuste automatiquement les siens. Si je veux
les optimaliser, je les modifie, principalement le
bitrate. Je dois encore réajuster
le son à 32k afin de gagner
encore un peu de place dans le flux car Pluto envoie
systématiquement 64k, le maximum. Ensuite je clique sur "save" sinon
les valeurs reviennent à celles du Pluto au prochain changement de
fréquence ou autre.
Pour
simplifier la mise en service de l'Encoder, dans lequel on ne peut
entrer qu'au moyen d'un câble
HDMI
(High-Definition Multiedia
Interface), j'ai utilisé ma caméra GoPro, qui
sort en micro HDMI.
Ca fonctionne parfaitement bien mais avec deux
inconvénients:
On ne peut pas passer de fichiers vidéos ou
de photos puisque le seul périphérique d'entrée est une caméra.
. Si on veut remplacer la caméra par un autre périphérique
d'entrée, par la sortie
HDMI
du notebook ou celle d'un récepteur TV par exemple, il faut tout
éteindre et tout rallumer
afin d'activer la communication
HDMI.
L'autre inconvénient c'est que la sortie
HDMI
du notebook (ou du PC, c'est la même chose) sort une image qui
correspond à celle qui s'affiche sur son écran. Par conséquent,
on a toujours la barre des tâches affichée et le correspond voit
tout ce qu'on fait avec la souris, comme s'il se trouvait devant
l'écran du notebook. Ce n'est pas très professionnel.
2. Transmission de la sortie de vMix
La solution est de
passer par une console de mixage software et pour
nous il y a deux logiciels: OBS et vMix. Le premier
est gratuit mais n'est pas intuitif à mettre en route, il manque
d'ergonomie. le second est aussi gratuit mais limité à la résolution
de 768x576 pixels, ce qui correspond a de la bonne SD (Standard
Definition de l'ancien 625 lignes). Il faut payer quelques dizaines
d'Euros pour pouvoir faire de la HD (Haute Definition).
En gros ces deux logiciels ont les mêmes fonctionnalités mais vMix étant le plus ergonomique des deux, c'est lui que j'ai
choisi d'utiliser car je n'aime pas les outils qui obligent à
laisser le manuel ouvert pour pouvoir travailler.
L'envoi des commandes au Pluto se faisait par le
câble USB, au moyen du protocole
RTMP (Real
Time Messaging
Protocol), (protocole de streaming propriétaire d'Abobe)
et d'une ligne de commande.
A chaque changement de fréquence ou de paramètres, il fallait
modifier cette ligne ce qui n'était pas très pratique.
Fig 2: Commande du Pluto et de l'encoder par
Ethernet (protocole HTTP)
Evariste F5OEO a donc modifié le firmware du
Pluto en lui ajoutant une communication HTTP bi-directionnelle (Hyper
Text Transfer Protocol), le standard sur
Internet). Les avantages sont doubles:
La commande du Pluto se fait au moyen d'un câble Ethernet (fiches RJ45)I, ce qui permet de placer le
Pluto physiquement n'importe-où et de le piloter à distance, par
exemple près de la parabole d'émission afin de minimiser les
pertes dans le câble coaxial de sortie. Ceci est expliqué en
détail au paragraphe
1.
Pilotage du Pluto parEthernet.
Le Pluto est maintenant un
serveur HTTP (identique à un
serveur Internet) qui répond lorsqu'on se connecte à son adresse
192.168.1.8 au moyen d'un navigateur
Internet, Firefox dans mon cas. Il suffit de donner cette
adresse IP à Firefox pour qu'il se connecte au Pluto et que le
menu de ce dernier apparaisse.
Il contient également un
analyseur de stream qui permet
de voir le TS (Transport Stream)
envoyé au Pluto et de contrôler les places réservées pour chacun
de ses composants (vidéo, son, null packets, etc.) et également
de voir les les PID (Packet IDentifier
), ce qui, nous le verrons plus loin, n'est pas inutile.
Evariste a vraiment fait du beau travail!
C'est le Pluto qui envoie les paramètres
variables à l'Encoder via son adresse HTTP 192.168.1.120. Il envoie le bitrate, la
définition de l'image et le nombre d'images par secondes (FPS,
Frames Per Second),
qui dépendent de la norme, de la constellation, du SR et du FEC. Une fois les paramètres de base (adresse IP et autres) entrés
dans l'Encoder, ll n'y plus rien à faire, c'est le Pluto
qui envoie les modifications à l'Encoder dès qu'on clique sur Apply Settings.
Communication dans les deux sens:
Aller:
Notebook
(Firefox) ►câble
Ethernet vers routeur ► Pluto
(192.168.1.8 )
et retour:
Encoder (192.168.1.120
◄ câble
Ethernet vers routeur ◄ Pluto)
Pour résumer, sur le notebook, relié au Pluto par
le routeur du réseau Ethernet local, il faut démarrer Firefox
(ou autre) et ouvrir deux onglets: un à l'adresse 192.168.1.8 du
Pluto, et un à l'adresse 192.168.1.120 de l'Encoder. Il faudra
également démarrer vMix, la console de mixage vidéo, qui
enverra le flux vidéo à l'Encoder, via la sortie HDMI du notebook.
Notebook (vMix)
► câble HDMI
► Encoder
Il ne reste plus qu'à insérer vMix entre les périphériques d'entrée et l'Encoder. Certain le font
avec la console constituée par le logiciel OBS, moi j'ai choisi d'opérer
avec vMix, qui est bien plus intuitif, donc plus facile
à prendre en mains.
Les
explications se trouvent ici.
Pour cela il faut:
Modifier Windows afin qu'il travaille avec
deux écrans: l'écran interne du notebook et la sortie HDMI,
considérée ici comme un second écran puisque c'est à cela que
sert cette prise en général.
Paramétrer vMix afin qu'il dirige sa sortie "Preview"
en plein écran sur la prise HDMi du notebook.
3. Paramétrage de Windows
Il faut procéder ainsi(pour la version Windows 10 famille) :
Image
Cliquer avec le bouton droit de la souris sur
le bureau du notebook, puis sur Paramètres d'affichage. Vous arrivez sur l'onglet
Affichage
Descendez sur Plusieurs affichages et
sélectionnez
Etendre ces affichages
dans la liste déroulante
Son
Sélectionnez Son dans le menu de
gauche
Dans la liste déroulante Choisir votre
périphérique de sortie, sélectionnez l'option
ITE6802 (Son Intel pour écran) Il se peut que l'option ne s'intitule pas ainsi mais, vue
que le haut-parleur interne du notebook s'appelle
Haut-parleurs (Realtek High Definition Audio), il suffit de
sélectionner l'autre option qu'il y a dans la liste.
4. Paramétrage de vMix
Cliquez sur l'option Paramètres du
menu de vMix, tout en haut à l'extrême droite. La fenêtre
Settings / Afficher s'ouvre.
L'option Plein écran est sur Plein
écran 1 (valeur par défaut).
Sélectionnez
2 dans la liste déroulante Affichage
A ce moment-là, la sortie "vidéo" et la sortie
"son" de vMix seront dirigées sur la prise HDMI du notebook, et de
là vers l'Encoder via le câble HDMI qui relie le notebook à
l'Encoder. Par contre, le bureau sera toujours visualisé sur l'écran
du notebook, mais pas le son de son haut-parleur, qui sera
coupé. Contrairement à l'ancien pilotage du Pluto via le câble
USB, vMix sert uniquement de console vidéo (sélection des
périphériques d'entrée et autres), l'option de streaming Courant
(bas de l'écran de vMix) n'est plus utilisée.
Dès lors, c'est dans le Controller du
Pluto (firmware d'Evariste) qu'il faut donner les paramètres de
l'émission DATV, via l'adresse IP 192.168.1.8 de Firefox (si c'est
bien celle-là qu'on a configuré).
5. Exemple de pamétrage du Pluto
(pour un SR de 500)
Callsign HB9AFO
PCR/PTS 885 ms (pas critique)
Freq-Manual2406.750 MHz
Mode DVBS2
SR500 kS/s
Pilots off
Roll-off 0.35
DVB Provider Name -hb9afo
PAT Period 536 ms (pas critique)
Freq-channel custom
ModQPSK
FEC3/5
Frame Longframe
Transverter Undefined - Custom
En rouge les paramètre qu'on modifie le plus
souvent. Les autres restent le plus souvent inchangés,
Une fois ces paramètres entrés, il faut cliquer
sur Apply setting. Le bitrate (vitesse des
bits) est alors calculé et s'inscrit sous TS Rate available (en kbits/sec), dans cet exemple 595 383.
Il est alors envoyé à l'Encoder via la coie de retour IP
192.168.1.120 et on peut voir les valeurs des paramètr4es de
l'Encoder qui changent (via l'adresse IP 192.168.1.120). Si
nécessaire, la Resolution et leFramerate sont
réajustés.
Il est possible de passer par-dessus les réglages
automatiques et de modifier finement les réglages soi-même. Après
l'avoir fait, il faut cliquer sur Save de l'option considérée
(son ou image). Un clic sur Reset remet les réglages du Pluto
en place. Les valeurs modifiées restent en place jusqu'à un nouveau
clic sur Apply Settings du Controller du Pluto.
On peut ajuster la puissance de sortie au moyen
du curseur Power, le passage en émission se faisant par le
bouton PTT. Switch ON = passage en émission et Switch OFF en
réception.
6. Perfectionnements
Tout ce assemblage fonctionne très bien mais
comporte encore quelques glitches. Je présume qu'ils seront corrigés
au fil du temps:
On ne peut pas changer les PID.
L'encoder envoie
256
pour la vidéo et
257
pour l'audio. Ce serait bien de pouvoir y mettre ce que l'on
veut car, par exemple, cette impossibilité empêche de trafiquer
sur nos relais HB9TV qui requiert d'autres PID.
Il arrive que le PID audio passe à4096 au lieu de 257 si bien que le son ne
passe plus sur l'air. La cause m'en est inconnue. La méthode
pour rétablir le 257 est de tout éteindre et de tout rallumer.
Suivant les circonstances on peut faire plus simple mais on
risque de perdre beaucoup de temps en tentatives infructueuses.
J'ai remarqué cependant qu'il est important que la première
image programmée dans vMix comporte du son et ne soit pas
seulement, par exemple, une mire sans audio.
Il arrive qu'on perdre la connexion IP
avec le Pluto. Je n'en connais pas la cause (des masses
peut-être?) mais il suffit de couper et de remettre
l'alimentation 5V du Pluto pour que la connexion soit rétablie.
J'ai quelquefois des coupures de flux
ce que se traduit par des images blanches et la coupure du son
chez le correspondant, c'est très désagréable. J'ai passé des
nuits et des nuits à faire des crash-tests et en ai finalement
conclu que c'est mon PA qui introduit des distorsions lorsque je
le pousse au maximum puisque ça ne se passe pas lorsque je me
contrôle en direct. La solution sera de me construire un nouveau
PA plus puissant, mais c'est encore à investiguer.
7. Résultats et projets
Actuellement, mon but est d'obtenir des images
les plus parfaites possibles, c'est-à-dire en Haute Résolution,
fluides, sans coupures avec un bon son et un
temps de latence minimum, même pour des images dont le fond
varie beaucoup, ce qui est le cas le plus défavorable pour le
compresseur d'images. Et puis j'aimerais que mes images puissent
être vues par un maximum de correspondants, même par ceux qui n'ont
que de petits moyens en réception. C'est la raison pour laquelle je
n'émet qu'avec une constellation QPSK et pas en 8 ou 16PSK
qui demandent des C/N (rapport signal/bruit) plus élevés en
réception, typiquement 6.30 et 10.37 dB (4dB de plus chaque fois)
alors qu'il ne faut que 2.23 dB en QPSK. En contrepartie, on pourra
transmettre beaucoup plus de bits/sec (bitrate plus élevé) et donc
avoir des images plus détaillées, typiquement 395 en QPSK mais 992
et 1321 pour les deux autres. On n'a rien sans rien! De toutes
façons, je n'ai que 40 Watts dans une parabole de 1.2 mètre en
émission, ce qui ne suffit pas pour transmettre en 8 ou 16PSK.
Ma
limite c'est QPSK et FEC 3/5, ce qui me permet
tout de même d'obtenir de bonnes images en 720x586 pixels, fluides,
sans à-coups et avec un son acceptable. Mais cela m'oblige
quelquefois à "bricoler" le bitrate et le son de l'Encoder de façon
à me tenir au plus près des limites supérieures.
Le paramètre le plus important à optimiser est le FEC (Forward
Error Correction), mais là plus on corrige et moins il
faut de MER au correspondant pour me recevoir. Par contre, plus
j'insère de bits de correction dans le TS, ce qui se produit lorsque
j'augmente le FEC (de min 9/10 à max 1/4), plus la réception
est facile (demande un MER moins élevé) mais en contrepartie
plus la définition de l'image est faible. En fonction des réglages,
le firmware d'Evariste du Pluto envoie la définition maximum
possible à l'Encoder.
L'Encoder H264/H264 est une merveille! Grâce à
lui, c'est la première fois que je peux vraiment transmettre des
images de très bonne qualité sans devoir casser ma tirelire pour
m'acheter un PC de course (Ou Jetson ou carte nVidia). Une belle
étape de franchie!.
Des modifications peuvent être effectuées au
firmware du Pluto d'Evariste F5OEO sous forme de patches.
L'opération est réversible et on peut enlever le patch pour rétablir
le firmware initial. Cette nouvelle possibilité a été rendue
possible par sa récente adjonction dans l'operating system du Pluto
par Analog Devices,
La procédure est la suivante:
Télécharger le patch, par exemple celui de
F5UII. Pour cela allez sur son site: https://www.f5uii.net/en/patch-plutodvb
Descendez sur "Download" et téléchargez le fichier
pluto.zip.
Mettez-le dans un répertoire que vous pouvez retrouver sur votre
PC.
Dans l' ADALM-PLUTO DATV Controller,
descendez dans l'option Upload a new firmware or new patch
et inscrivez le nom et le chemin où vous avez
mis le fichier pluto.zip dans le champ de saisie Parcourir.
Cliquez sur Upload et le patch
s'installe dans le firmware. Vous pouvez maintenant utliser le
Pluto avec le firmware modifié par le patch.
Le patch ne restera pas mémorisé dans le
firmware. Si vous désirez rendre son installation permanente, il
faut aller dans l'option Reboot du Controller et cliquer
sur Reboot the Pluto.
Pour enlever le patch et revenir à l'état
antérieur du firmware, allez dans l'option Delete patch
et cliquez sur Delete Patch.
Refaites un Reboot ensuite !
Cette même procédure permet d'installer une
nouvelle version complète du firmware, le fichier pluto.frm.
Evariste FD5OEO met à disposition les codes
sources de son firmware sur le site
https://github.com/F5OEO/datvplutofrm . N'importe-qui peut les
modifier mais ce n'est pas à la portée de tout le monde, il faut
savoir programmer.
Les fichiers Linux ont la terminaison .SH et sont
self-extractibles.
On peut s'inscrire sur le forum de discussion
https://groups.io/g/plutodvb afin de suivre l'évolution du
fiirmware.
Le manuel de vMix, si on peut l'appeler ainsi,
est très succinct et ne permet pas de paramétrer ce logiciel en
toute connaissance de cause, notamment lorsqu'on l'utilise avec un
encodeur hardware externe, ce qui est mon cas. Voici
comment se fait
cette connexion.
Processus
vMix sélectionne les sources, les
mélange, leur donne éventuellement des effets et présente le
résultat dans sa fenêtre "préview" (prévisualisation), celle de
droite.
La sortie de vMix est reliée à l'entrée HDMI
de l'encodeur (H.264/H.265 Encoder) par Windows. Ce dernier
compresse images et son et forme le flux TS (Transport
Stream) qu''il envoie au Pluto par Ethernet. C'est
lui qui impose la définition de l'image et du son, la norme de transmission (H264 ou H265) et le
bit rate
(volume du flux)
Le Pluto reçoit ce flux sur son
adresse IP 192.168.1.8, port
8282. La fenêtre "Analyse du
firmware permet de contrôler la bienfacture de ce flux
(proportions des composants internes). Le Pluto détermine
ensuite tous les autres paramètres d'émission (fréquence, SR,
FEC, puissance d'émission, etc.). Le bouton PTT du controller
déclenche le passage en émission et vice-versa.
Paramétrages
vMix à l'encodeur vMix sort les images et le son résultant de ses sélections et
choix Windows relie cette sortie d'une part à l'écran et au
haut-parleur du PC et d'autre part à l'entrée HDMI au "H264/H265
Encoder"
Pour contrôle, paramétrer provisoirement l'encodeur pour que sa
sortie aboutisse au lecteur VLC en mettant l'adresse
Multicast 230.0.0.1 et le
port 10000 dans
l'onglet Network/Multicast. On pourra récupérer le flux à cette
même adresse (Menu "Média/Ouvrir un flux réseau de VLC) et
visualiser images et son que vMix envoye à l'encodeur.
Encodeur au Pluto Remplacer l'adresse Multicast de l'encodeur par
192.168.1.8, port
8282 (entrée du Pluto
programmée dans son firmware) VLC ne permet pas de visualiser ce flux.
Après avoir entré les paramètres d'émission
au Pluto, ne pas oublier d'activer
le bouton "Apply settings". Si on veut conserver les
paramètres entrée même après une déconnexion, il faut faire de
même avec l'option "Save for nexte reboot".
Windows 10 Afin que l'image et le son soient correctement dirigés, sur
l'écran et sur les haut-parleurs du PC ou vers l'encodeur, il
faut tout d'abord que Windows soit correctent paramétré et
qu'ensuite vMix le soit:
- Dans Windows, clic droit sur le bureau puis
Paramètres d'affichage. La fenêtre "Affichage" s'ouvre et on
doit avoir 1 et 2 dans la fenêtre du haut, ce qui indique qu'on
a connecté deux périphériques de sortie "images" au PC.
L'écran et, dans notre cas, l'encodeur sur la sortie HDMI
de la carte graphique.
Le premier affichera le bureau et les logiciels ouverts, et le
second recevra la sortie de vMix. Pour séparer ces deux flux, il
faut sélectionner Etendre ces
affichages sous "Ecrans multiples". Si on laisse
cette option sur "Dupliquer ces affichages", l'écran et
l'encodeur recevront l'image du bureau.
Il faut encore paramétrer
les sorties son. Toujours dans "Paramètres", cliquez sur
son. Sous
"Sortie", sélectionnez la sortie audio habituelle,
Haut-parleurs Realtek audio
dans mon cas. Tous les sons issus du PC iront dans les
haut-parleurs à l'exception de ceux qui sortent de vMix, qui
seront acheminés vers la seconde prise "écran", la HDMI dans mon
cas, marquée "ITE 6803 NVIDIA high definition Audio", le second
choix possible de l'option "Sortie".
L'entrée micro pour terminer. Sous "Entrée", sélectionnez le microphone désiré, dans mon cas
Microphone (HD Pro Webcam C920),
puisque c'est la caméra que j'ai connecté au PC via l'USB. je
pourrais aussi choisir l'autre caméra, une Go-Pro via un
adaptateur HDMI-USB.
Dernière étape,
vMix
En haut au centre de l'écran, le
bouton Fullscreen doit être
vert sinon le signal sortant ne partira pas
vers l'encodeur. Cliquer sur la flèche à côté de "Fullscreen", puis sur "Display
1" et finalement sélectionnez l'option
Output.
Le bouton
ext doit être
rouge, ce qui indique le le
bouton External au bas de
l'écran a été pressé (il doit toujours l'être). Attention,
quelquefois vMix se fermera après une modification. Il faudra
alors contrôler que ce bouton est bien rouge au redémarrage
sinon aucun signal ne sortira du logiciel.
Bouton
Settings, en haut à droite de l'écran. Option
"Display": sélectioonnez 2.
Voilà, en principe les signaux seront routés
correctement et vous pourrez envoyer vos images sur QO-100 ou
ailleurs.
Evidemment, les dénominations de périphériques
pourraient varier en fonction de votre propre équipement.
Encore deux chose relatives à l'encodeur:
N'utilisez pas l'échantillonnage en 32k de l'encodeur,
le bruit de fond est mal digitalisé et cela gêne la
compréhension. Par contre, en 48 k mono
tout est bien.
Lors de la mise sous tension de l'encodeur,
ne pas oublier de faire un reboot sinon l'image présente
sur son entrée HDMI n'est pas reçue car la sortie et l'entrée
HDMI doivent se synchroniser. Il faut aller dans le menu "System\Maintain" et cliquer sur "reboot".
L'encodeur est indisponibles pendant quelques dizaines de
secondes, toutes ses LED sont éteintes. Lorsque les images sont
correctement acheminées la LED bleue LAN clignote rapidement et les deux autres sont
allumées.
Résolution
ll arrive que l'encodeur perde son paramètre "Resolution"
dans le menu "Video/audio\video" et ce champ est vide.
Sélectionnez 1920 x 1080. C'est
la qualité maximum que l'encodeur peut lire.
Pour ma part, je paramètre également
vMix avec 1980 x 1080 comme résolution de
sortie (menu "Settings\Output size", et avec
PAL 50p comme "Master frame rate".
De ce fait, on a la qualité maximum (HD) d'un bout à l'autre de la
chaîne. Bien entendu, le rendu DAV final dépend du paramétrage de
l'émission, principalement du SR et du FEC qui imposent un plafond
au bit rate. On peut en voir le résultat en connectant
provisoirement VLC à la sortie de l'encodeur via l'adresse
UDP 230.0.0.1 port
10'000 (onglet "Network\Multicast
de l'encodeur et onglet Media\ouvrir un flux réseau" de VLC). On
peut maintenant voir la limitation de qualité que fait le bit rate.
Entrez la valeur de 5000 comme bit rate dans l'encodeur (ne pas
oublier le "save" puis le "reset") et vous obtiendrez une image HD
parfaite dans VLC. Ensuite remplacez 5000 par 200 et vous
constaterez la diminution de qualité
Ceci fait, ne pas oublier de remettre les
paramètres à utiliser avec le Pluto dans l'encodeur:
192.168.1.8 port
8282 et reconnectez VLC à la
sortie UDP de Minitioune (230.0.0.10
port 9999ou 10000
suivant la version du soft).
Relier le pilote externe, dans mon cas un GPSDO
Leo Bodnar,à la prise ext clock sur le
circuit-imprimé du Pluto au moyen d'un des câbles livrés avec
l'engin. Au préalable, configurez le Leo Bodnar avec la fréquence,
40 MHz, et le courant de sortie, 8 mA. Le GPSDO doit
alors recevoir les signaux GPS et les deux témoins
GPS signal OK et
PLL lock OK doivent passer au vert
dans le logiciel "Mini GPS clock configuration".
Ensuite:
Le
Pluto est programmé en Linux. Pour s'y connecter lorsqu'il est relié
au PC via un câble RJ45 et un adaptateur Ethernet-USB, utiliser le
logiciel de commande
ExtraPutty.
Paramètres:
IP address: 198.162.2.1
Connection type: SSH
Cliquer sur le bouton Open
La fenêtre de programmation s'ouvre avec:
login as:
Répondre root
password:
Répondre
analog
On est maintenant dans Lunix.
Pour savoir quelle clock est utilisée:
fw_printenv refclk_source
Pour passer sur la clock externe:
fw_setenv refclk_source external