Faire une connexion audio (duplex stéréo 48k) par internet, avec un petit buffer de 60ms pour gérer la gigue et laisser aux paquets en retard le temps d'arriver.
Transport : RTP sur UDP
Codec : CELT
C'est une réduction d'un script plus complexe dans lequel je précise quelle interface audio capturer/lire, quelle interface réseau écouter, quel port envoyer et écouter, etc. etc. mais on pourrait le simplifier encore beaucoup.
La variable caps est en fait fournie dans la sortie standard de la première commande, donc il n'y a même pas l'argument "comment je devine cette variable ?". et tout le reste des options je les ai trouvées avec gst-inspect (je pose la question, il me répond, c'est ce que j'attends d'une IHM).
Mplayer ne sait pas faire cela.
Avec VLC on pourra peut-être un jour, ça fait un peu de RTP mais pour très peu de codecs (du RTP an mpga, plus 3secondes de latences, arg). Et la syntaxe est vraiment imbitable : quand je travaille avec VLC, je lance la gui, je cliquouille, et je copie les lignes de commandes qu'il construit (et qu'il a le bon goût de fournir).
Je suis incapable d'écrire une ligne similaire dans la syntaxe VLC, je n'en ai simplement pas le courage car gstreamer est tellement limpide à coté, et tellement plus efficace ! C'est dommage parceque L de VLC signifie Lan, c'est pourquoi naïvement je m'étais d'abord tourné vers VLC avant de découvrir, avec joie, Gstreamer !
Avec un script comme cela, j'ai une qualité similaire, une latence aussi courte (se chiffre en ms) et un débit aussi raisonnable que les codecs IP qu'on trouve dans le commerce à 2000€. Encapsulé dans un OpenVPN, je transporte avec ça, IRL, de vraies émissions pour une radio FM en direct de n'importe où il y a Internet (la dernière a duré deux heures sur un salon). Je suis aussi en train de mettre en place un duplex entre deux studios (100km de distance). D'autres travaillent du son à distance avec ça (et l'écran en VNC).
Je donne cet exemple, mais on peut en trouver plein d'autres, Gstreamer c'est plus que de la lecture de fichiers multimédia et le divertissement de le cadre privé de la famille. Il y a des gens qui travaillent grâce à cette trentaine de lignes de code (que je saurais réduire à deux, mais peut-être que des plus malins que moi sauront réduire cela à une seule) et Gstreamer.
Chez moi, gst-inspect-0.10 -a me dit à la fin de 115746 lignes de documentations : Total count: 226 plugins (1 blacklist entry not shown), 1397 features
On peut en faire des choses !
(et puis pour le moment, c'est mon seul moyen de coder en vp8 avec les distribs que j'utilise).
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Pas encore au niveau de VLC
Posté par Thomas Debesse (site web personnel, Mastodon) . En réponse à la dépêche GStreamer : bientôt la version 1.0. Évalué à 10. Dernière modification le 29 novembre 2011 à 19:33.
Exemple de cas d'utilisation Gstreamer...
Faire une connexion audio (duplex stéréo 48k) par internet, avec un petit buffer de 60ms pour gérer la gigue et laisser aux paquets en retard le temps d'arriver.
Transport : RTP sur UDP
Codec : CELT
sur chacun des PCs :
C'est une réduction d'un script plus complexe dans lequel je précise quelle interface audio capturer/lire, quelle interface réseau écouter, quel port envoyer et écouter, etc. etc. mais on pourrait le simplifier encore beaucoup.
La variable caps est en fait fournie dans la sortie standard de la première commande, donc il n'y a même pas l'argument "comment je devine cette variable ?". et tout le reste des options je les ai trouvées avec gst-inspect (je pose la question, il me répond, c'est ce que j'attends d'une IHM).
Mplayer ne sait pas faire cela.
Avec VLC on pourra peut-être un jour, ça fait un peu de RTP mais pour très peu de codecs (du RTP an mpga, plus 3secondes de latences, arg). Et la syntaxe est vraiment imbitable : quand je travaille avec VLC, je lance la gui, je cliquouille, et je copie les lignes de commandes qu'il construit (et qu'il a le bon goût de fournir).
Je suis incapable d'écrire une ligne similaire dans la syntaxe VLC, je n'en ai simplement pas le courage car gstreamer est tellement limpide à coté, et tellement plus efficace ! C'est dommage parceque L de VLC signifie Lan, c'est pourquoi naïvement je m'étais d'abord tourné vers VLC avant de découvrir, avec joie, Gstreamer !
Avec un script comme cela, j'ai une qualité similaire, une latence aussi courte (se chiffre en ms) et un débit aussi raisonnable que les codecs IP qu'on trouve dans le commerce à 2000€. Encapsulé dans un OpenVPN, je transporte avec ça, IRL, de vraies émissions pour une radio FM en direct de n'importe où il y a Internet (la dernière a duré deux heures sur un salon). Je suis aussi en train de mettre en place un duplex entre deux studios (100km de distance). D'autres travaillent du son à distance avec ça (et l'écran en VNC).
Je donne cet exemple, mais on peut en trouver plein d'autres, Gstreamer c'est plus que de la lecture de fichiers multimédia et le divertissement de le cadre privé de la famille. Il y a des gens qui travaillent grâce à cette trentaine de lignes de code (que je saurais réduire à deux, mais peut-être que des plus malins que moi sauront réduire cela à une seule) et Gstreamer.
Chez moi,
gst-inspect-0.10 -ame dit à la fin de 115746 lignes de documentations :Total count: 226 plugins (1 blacklist entry not shown), 1397 featuresOn peut en faire des choses !
(et puis pour le moment, c'est mon seul moyen de coder en vp8 avec les distribs que j'utilise).
ce commentaire est sous licence cc by 4 et précédentes