Closed Drulac closed 6 years ago
Oui ce serait cool, car je suis aussi pour favoriser l'utilisation d'outil non centralisateur MAIS la pouetradio utilise le player vidéo http://www.mediaelementjs.com/ qui ne supporte pas (encore?) peertube. A court terme je n'ai pas la dispo pour me plonger dans mediaelementjs et éventuellement ajouter ce support, mais je ne sais même pas si c'est possible en l'état, peut-être ça demande des évolutions aussi du côté de Peertube
Une solution serait d'avoir un moyen de passer de l'URL de la vidéo en ligne https://peertube.nsa.ovh/videos/watch/8f4af0bf-f4b4-4436-8f17-ade72c772af2 à l'URL du mp4 https://tube.svnet.fr/static/webseed/8f4af0bf-f4b4-4436-8f17-ade72c772af2-720.mp4 ce qui je suppose est possible via une API plus ou moins publique ?
Dans ce cas on peut s'arranger pour faire jouer le mp4 dans le player de la pouetradio, sans devoir l'interfacer avec l'embed de peertube. Mais ensuite le problème sera de reconnaître les liens vers les videos peertube dans le flux mastodon, dans la mesure où il va être difficile de se baser sur le nom de domaine…
hmmm bon ça semble pas si compliqué :
Pour le lien vers la vidéo https://peertube.nsa.ovh/videos/watch/8f4af0bf-f4b4-4436-8f17-ade72c772af2
on peut interroger l'API
https://peertube.nsa.ovh/api/v1/videos/8f4af0bf-f4b4-4436-8f17-ade72c772af2
qui réponds
{"id":1972,"uuid":"8f4af0bf-f4b4-4436-8f17-ade72c772af2","name":"ACHAB - Black bloc","category":{"id":14,"label":"Activism"},"licence":{"id":null,"label":"Unknown"},"language":{"id":13,"label":"French"},"nsfw":false,"description":"Achab est un groupe dont certaines videos sont difficiles à visionner sur d'autres sites.","isLocal":false,"duration":254,"views":117,"likes":5,"dislikes":0,"thumbnailPath":"/static/thumbnails/8f4af0bf-f4b4-4436-8f17-ade72c772af2.jpg","previewPath":"/static/previews/8f4af0bf-f4b4-4436-8f17-ade72c772af2.jpg","embedPath":"/videos/embed/8f4af0bf-f4b4-4436-8f17-ade72c772af2","createdAt":"2018-03-07T20:52:11.261Z","updatedAt":"2018-04-11T13:41:33.220Z","account":{"id":152,"url":"https://tube.svnet.fr/accounts/coquihani","uuid":"ee2eb373-e1da-4ae2-be4a-3172b5267975","name":"coquihani","host":"tube.svnet.fr","followingCount":0,"followersCount":2,"avatar":null,"createdAt":"2018-03-07T15:32:51.320Z","updatedAt":"2018-03-07T15:32:51.320Z","displayName":"coquihani","description":null},"privacy":{"id":1,"label":"Public"},"support":null,"descriptionPath":"/api/v1/videos/8f4af0bf-f4b4-4436-8f17-ade72c772af2/description","channel":{"id":88,"url":"https://tube.svnet.fr/video-channels/7b7321e0-745c-4f08-8745-45fa3870019b","uuid":"7b7321e0-745c-4f08-8745-45fa3870019b","name":"7b7321e0-745c-4f08-8745-45fa3870019b","host":"tube.svnet.fr","followingCount":0,"followersCount":0,"avatar":null,"createdAt":"2018-03-07T15:32:51.472Z","updatedAt":"2018-03-07T15:32:51.472Z","displayName":"Default coquihani channel","description":null,"support":null,"isLocal":false},"tags":[],"commentsEnabled":true,"files":[{"resolution":{"id":720,"label":"720p"},"magnetUri":"magnet:?xs=https%3A%2F%2Ftube.svnet.fr%2Fstatic%2Ftorrents%2F8f4af0bf-f4b4-4436-8f17-ade72c772af2-720.torrent&xt=urn:btih:d5f7bbdc63db5404c1424cee923101b6df008b9e&dn=ACHAB+-+Black+bloc&tr=wss%3A%2F%2Ftube.svnet.fr%2Ftracker%2Fsocket&tr=https%3A%2F%2Ftube.svnet.fr%2Ftracker%2Fannounce&ws=https%3A%2F%2Ftube.svnet.fr%2Fstatic%2Fwebseed%2F8f4af0bf-f4b4-4436-8f17-ade72c772af2-720.mp4","size":60494776,"torrentUrl":"https://tube.svnet.fr/static/torrents/8f4af0bf-f4b4-4436-8f17-ade72c772af2-720.torrent","fileUrl":"https://tube.svnet.fr/static/webseed/8f4af0bf-f4b4-4436-8f17-ade72c772af2-720.mp4"}]}
et dont le json donne l'URL du mp4
"fileUrl":"https://tube.svnet.fr/static/webseed/8f4af0bf-f4b4-4436-8f17-ade72c772af2-720.mp4"
On peut donc supposemment faire quelque chose avec tout ça, à voir comment
Je note ici les liens utiles vers la doc
Merci pour le travail que vous faites :hugs:
Petit commentaire pour vous dire que les liens m'ont ete bien utilie pour mon projet.
Si cela peut servir voici mon implementation en python de l'interogation de l'API de peertube pour recuperer les fichiers sources. Si la video propose plusieurs resolution, la plus elevee sera retenue. https://framagit.org/alfajet/soundcheck-vlc/blob/0acf8e2975e74baf48c9c924666529690a66609b/soundcheck_vlc/utils/video_parse.py#L44
Cela devrait etre facilement transposable en js.
@alfajet@mastodon.xyz
C'est en prod ! Pour info : je retiens la video avec la plus faible résolution car c'est surtout le son qui nous interesse, et j'ai du mettre en place un proxy car l'interrogation de l'API peertube en JS depuis pouet.audio se faisait bloquer par les directives CORS
Cela serait trop cool que les liens vers peertube (une alternative libre et décentralisée à outube) soient supportés :-)