#1 Le 30/10/2024, à 14:06
- JujuLand
[Résolu] Enregistrement et lecture de vidéo encodée vp09
Bonjour,
J'ai enregistré une vidéo avec yt-dlp sans problème, sauf que le codec vp09 n'est pas pris en charge, et que je ne peux pas la lire.
En cherchant de la doc sur yt-dlp, j'ai trouvé un paramètre qui permet de voir les encodages utilisés. Sur cette doc, le choix fait permet d'enregistrer la vidéo et l'audio dans un format lisible sous Linux.
Malheureusement, pour cette vidéo, et sans doute de nombreuses autres, les différents choix ne permettent pas d'enregistrer les deux en même temps.
alain@Gramps-JujuLand2:~/Bureau$ yt-dlp -F https://www.youtube.com/watch?v=wmzDrWtkd8g
[youtube] Extracting URL: https://www.youtube.com/watch?v=wmzDrWtkd8g
[youtube] wmzDrWtkd8g: Downloading webpage
[youtube] wmzDrWtkd8g: Downloading ios player API JSON
[youtube] wmzDrWtkd8g: Downloading web creator player API JSON
[youtube] wmzDrWtkd8g: Downloading m3u8 information
[info] Available formats for wmzDrWtkd8g:
ID EXT RESOLUTION FPS CH │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27 0 │ mhtml │ images storyboard
sb2 mhtml 80x45 0 │ mhtml │ images storyboard
sb1 mhtml 160x90 0 │ mhtml │ images storyboard
sb0 mhtml 320x180 0 │ mhtml │ images storyboard
233 mp4 audio only │ m3u8 │ audio only unknown Default
234 mp4 audio only │ m3u8 │ audio only unknown Default
139-drc m4a audio only 2 │ 2.19MiB 49k https │ audio only mp4a.40.5 49k 22k low, DRC, m4a_dash
249-drc webm audio only 2 │ 2.27MiB 51k https │ audio only opus 51k 48k low, DRC, webm_dash
250-drc webm audio only 2 │ 3.01MiB 67k https │ audio only opus 67k 48k low, DRC, webm_dash
139 m4a audio only 2 │ 2.19MiB 49k https │ audio only mp4a.40.5 49k 22k low, m4a_dash
249 webm audio only 2 │ 2.27MiB 51k https │ audio only opus 51k 48k low, webm_dash
250 webm audio only 2 │ 3.01MiB 67k https │ audio only opus 67k 48k low, webm_dash
140-drc m4a audio only 2 │ 5.81MiB 129k https │ audio only mp4a.40.2 129k 44k medium, DRC, m4a_dash
251-drc webm audio only 2 │ 5.91MiB 132k https │ audio only opus 132k 48k medium, DRC, webm_dash
140 m4a audio only 2 │ 5.81MiB 129k https │ audio only mp4a.40.2 129k 44k medium, m4a_dash
251 webm audio only 2 │ 5.90MiB 131k https │ audio only opus 131k 48k medium, webm_dash
602 mp4 256x144 15 │ ~ 4.31MiB 96k m3u8 │ vp09.00.10.08 96k video only
269 mp4 256x144 30 │ ~ 10.18MiB 227k m3u8 │ avc1.4D400C 227k video only
160 mp4 256x144 30 │ 3.83MiB 85k https │ avc1.4D400C 85k video only 144p, mp4_dash
603 mp4 256x144 30 │ ~ 7.95MiB 177k m3u8 │ vp09.00.11.08 177k video only
278 webm 256x144 30 │ 4.23MiB 94k https │ vp09.00.11.08 94k video only 144p, webm_dash
229 mp4 426x240 30 │ ~ 19.80MiB 442k m3u8 │ avc1.4D4015 442k video only
133 mp4 426x240 30 │ 9.80MiB 218k https │ avc1.4D4015 218k video only 240p, mp4_dash
604 mp4 426x240 30 │ ~ 14.59MiB 325k m3u8 │ vp09.00.20.08 325k video only
242 webm 426x240 30 │ 8.56MiB 191k https │ vp09.00.20.08 191k video only 240p, webm_dash
230 mp4 640x360 30 │ ~ 48.51MiB 1082k m3u8 │ avc1.4D401E 1082k video only
134 mp4 640x360 30 │ 21.39MiB 477k https │ avc1.4D401E 477k video only 360p, mp4_dash
605 mp4 640x360 30 │ ~ 26.45MiB 590k m3u8 │ vp09.00.21.08 590k video only
243 webm 640x360 30 │ 14.46MiB 322k https │ vp09.00.21.08 322k video only 360p, webm_dash
231 mp4 854x480 30 │ ~ 83.01MiB 1852k m3u8 │ avc1.4D401F 1852k video only
135 mp4 854x480 30 │ 42.73MiB 952k https │ avc1.4D401F 952k video only 480p, mp4_dash
606 mp4 854x480 30 │ ~ 44.87MiB 1001k m3u8 │ vp09.00.30.08 1001k video only
244 webm 854x480 30 │ 25.46MiB 567k https │ vp09.00.30.08 567k video only 480p, webm_dash
232 mp4 1280x720 30 │ ~173.10MiB 3862k m3u8 │ avc1.64001F 3862k video only
136 mp4 1280x720 30 │ 83.58MiB 1862k https │ avc1.64001F 1862k video only 720p, mp4_dash
609 mp4 1280x720 30 │ ~115.77MiB 2583k m3u8 │ vp09.00.31.08 2583k video only
247 webm 1280x720 30 │ 43.00MiB 958k https │ vp09.00.31.08 958k video only 720p, webm_dash
270 mp4 1920x1080 30 │ ~333.48MiB 7440k m3u8 │ avc1.640028 7440k video only
137 mp4 1920x1080 30 │ 162.59MiB 3623k https │ avc1.640028 3623k video only 1080p, mp4_dash
614 mp4 1920x1080 30 │ ~174.52MiB 3893k m3u8 │ vp09.00.40.08 3893k video only
248 webm 1920x1080 30 │ 71.55MiB 1594k https │ vp09.00.40.08 1594k video only 1080p, webm_dash
620 mp4 2560x1440 30 │ ~416.88MiB 9301k m3u8 │ vp09.00.50.08 9301k video only
271 webm 2560x1440 30 │ 305.20MiB 6801k https │ vp09.00.50.08 6801k video only 1440p, webm_dash
J'ai donc enregistré séparément vidéo en mp4 et audio en mp3 et ai essayé de les enregistrer ensuite ensemble, mais je n'ai pas réussi.
Avec cin, je n'ai pas compris comment faire, avec openshot, je n'ai pas réussi ...
Y aurait-il un moyen, avec peut -être un autre logiciel ?
Merci
A°
Dernière modification par JujuLand (Le 31/10/2024, à 15:08)
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#2 Le 30/10/2024, à 14:28
- berserk
Re : [Résolu] Enregistrement et lecture de vidéo encodée vp09
Bonjour
VLC et MPV n'arrivent pas à lire ce format ?
Hors ligne
#3 Le 30/10/2024, à 15:25
- JujuLand
Re : [Résolu] Enregistrement et lecture de vidéo encodée vp09
Non, mais il faut dire que je suis sous Xubuntu 16.04; vlc 2.2.2 et mpv 0.14.0
Alors, je ne sais pas pour les versions plus récentes.
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#4 Le 31/10/2024, à 15:08
- JujuLand
Re : [Résolu] Enregistrement et lecture de vidéo encodée vp09
Bon,
J'ai réussi à éliminer le problème.
Tout d'abord, j'utilisais un script que j'avais fait il y a environ 2 ans (le source est en fin de post), qui me permet de faire plusieurs enregistrements en une seule commande. Le problème que j'ai eu était le paramètre utilisé pour yt-dlp dans le script :
yt-dlp -f mp4 $url
Ce paramètre a toujours fonctionné, jusqu'à il y a peu. Mais avec mes dernières vidéos, il utilisait vp09 pour la vidéo, et ça coinçait. En faisant un test directement et sans le paramètre, le fichier, généré sous Xubuntu 22.04, était un webm et était illisible sur ma machine en 16.04 (trop grand ...)
Je me suis donc attelé à réduire la taille en utilisant des paramètres différents :
- 137 puis 136 pour la vidéo
- 251 pour l'audio (aucun changement)
Ces paramètres faisant que le fichier est un mkv et non un webm.
beatrice@hp15-ubuntu:~$ yt-dlp -f 136+251 https://youtu.be/1Gwt18hde4w
[youtube] Extracting URL: https://youtu.be/1Gwt18hde4w
[youtube] 1Gwt18hde4w: Downloading webpage
[youtube] 1Gwt18hde4w: Downloading ios player API JSON
[youtube] 1Gwt18hde4w: Downloading web creator player API JSON
[youtube] 1Gwt18hde4w: Downloading m3u8 information
[info] 1Gwt18hde4w: Downloading 1 format(s): 136+251
[download] Destination: Le Gardien du Temple Opus 2 : La Porte des Ténèbres - Acte III [1Gwt18hde4w].f136.mp4
[download] 100% of 19.37MiB in 00:00:02 at 7.96MiB/s
[download] Destination: Le Gardien du Temple Opus 2 : La Porte des Ténèbres - Acte III [1Gwt18hde4w].f251.webm
[download] 100% of 1.11MiB in 00:00:00 at 7.65MiB/s
[Merger] Merging formats into "Le Gardien du Temple Opus 2 : La Porte des Ténèbres - Acte III [1Gwt18hde4w].mkv"
Deleting original file Le Gardien du Temple Opus 2 : La Porte des Ténèbres - Acte III [1Gwt18hde4w].f136.mp4 (pass -k to keep)
Deleting original file Le Gardien du Temple Opus 2 : La Porte des Ténèbres - Acte III [1Gwt18hde4w].f251.webm (pass -k to keep)
Sous Xubuntu 22.04 :
La vidéo fonctionne correctement avec vlc. Restent , sous Xuubuntu 22.04, quelques messages d'erreur avec vlc mais qui ne sont pas bloquants :
beatrice@hp15-ubuntu:~$ vlc Le\ Gardien\ du\ Temple\ Opus\ 2\ :\ La\ Porte\ des\ Ténèbres\ -\ Acte\ III\ \[1Gwt18hde4w\].mkv
VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b)
[0000650b3c14a550] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[00007c458cc14720] avcodec decoder: Using G3DVL VDPAU Driver Shared Library version 1.0 for hardware decoding
[h264 @ 0x7c458cce6080] Failed setup for format vdpau: hwaccel initialisation returned error.
[00007c458cc14720] avcodec decoder error: existing hardware acceleration cannot be reused
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
Ce n'est pas la même histoire avec parole, là, la vidéo ne fonctionne pas et on a des messages d'erreurs :
beatrice@hp15-ubuntu:~$ xdg-open Le\ Gardien\ du\ Temple\ Opus\ 2\ :\ La\ Porte\ des\ Ténèbres\ -\ Acte\ III\ \[1Gwt18hde4w\].mkv
beatrice@hp15-ubuntu:~$
(parole:93610): GStreamer-CRITICAL **: 14:08:42.167: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.168: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.189: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.189: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.189: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.189: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.189: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.189: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.189: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.190: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.190: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.190: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.190: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.190: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.190: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.190: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.190: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.190: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.191: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.191: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.191: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.191: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.191: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.191: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.191: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.191: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.192: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.192: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.192: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.192: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.192: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.192: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.192: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.192: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.210: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.210: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.210: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.210: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.210: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.210: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.211: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.211: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.211: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.211: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.211: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.211: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.212: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.212: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.212: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.212: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.212: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.212: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.213: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.213: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.213: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.213: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.213: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.213: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.214: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.214: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.214: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.214: range start is not smaller than end for `GstIntRange'
(parole:93610): GStreamer-CRITICAL **: 14:08:42.215: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(parole:93610): GStreamer-CRITICAL **: 14:08:42.215: range start is not smaller than end for `GstIntRange'
Sous Xubuntu 16.04
9a fonctionne correctement sous vlc, et ici pas d'erreur:
alain@Gramps-JujuLand2:~/Bureau$ vlc Le\ Gardien\ du\ Temple\ Opus\ 2\ :\ La\ Porte\ des\ Ténèbres\ -\ Acte\ III\ \[1Gwt18hde4w\].mkv
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
[000000000212b148] core libvlc: Lancement de vlc avec l'interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface.
[00007f7b04c0caf8] avcodec decoder: Using G3DVL VDPAU Driver Shared Library version 1.0 for hardware decoding.
QObject::~QObject: Timers cannot be stopped from another thread
Avec parole, ça fonctionne, avec une erreur non bloquante:
alain@Gramps-JujuLand2:~/Bureau$ parole Le\ Gardien\ du\ Temple\ Opus\ 2\ :\ La\ Porte\ des\ Ténèbres\ -\ Acte\ III\ \[1Gwt18hde4w\].mkv
Protocol error: bad 3 (Window); Sequence Number 5
Opcode (20, 0) = GetProperty
Bad resource 1763729444 (0x69206024)
at -e line 15.
Bref, on peut considérer que le problème est résolu malgre ces quelques messages d'erreur.
Ceci permettra peut-être de débloquer quelques utilisateurs bloqués comme moi ...
Voici donc le script qui me permet d'enregistrer plusieurs vidéos avec yt-dlp :
#!/bin/bash
progvers="1.01"
datvers="2024-10-30"
if [ -f ~/Bureau/ydlit.lst ]; then
echo "\nydlit ${progvers} ${progdate} ${datvers} Alain Aupeix$"
nano ~/Bureau/ydlit.lst
fi
if [ -f ~/Bureau/ydlit.lst ]; then
ok=1
else
echo -e "\nydlit ${progvers} ${progdate} ${datvers} Alain Aupeix"
echo -e "Attention: Fichier ~/Bureau/ydlit.lst non trouvé!"
sleep 2
nano ~/Bureau/ydlit.lst
fi
if [ "x$1" != "x" ];then
cd $1
else
cd ~/Vidéos
fi
for url in $(cat ~/Bureau/ydlit.lst); do
date +'%d-%m-%y %R'
# /usr/bin/yt-dlp -f mp4 $url
/usr/bin/yt-dlp -f 136+251 $url
done
if [ -f ~/Bureau/ydlit.lst ]; then
rm ~/Bureau/ydlit.lst
fi
Voila ...
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#5 Le 01/11/2024, à 19:30
- JujuLand
Re : [Résolu] Enregistrement et lecture de vidéo encodée vp09
Voici une version du script qui traite youtube, francetv et arte.
#!/bin/bash
progvers="1.10"
datvers="2023-11-01"
if [ -f ~/Bureau/ydlit.lst ]; then
echo -e "\nydlit ${progvers} ${progdate} ${datvers} Alain Aupeix"
nano ~/Bureau/ydlit.lst
fi
if [ -f ~/Bureau/ydlit.lst ]; then
ok=1
else
echo -e "\nydlit ${progvers} ${progdate} ${datvers} Alain Aupeix"
echo -e "Attention: Fichier ~/Bureau/ydlit.lst non trouvé!"
sleep 2
nano ~/Bureau/ydlit.lst
fi
if [ "x$1" != "x" ];then
cd $1
else
cd ~/Vidéos
fi
if [ -f ~/Bureau/ydlit.lst ]; then
for url in $(cat ~/Bureau/ydlit.lst); do
echo " -------------------------------------"
echo -e $url
date +'%d-%m-%y %R'
dest=${url:12:9}
if [ $dest = "france.tv" ];then
/usr/bin/yt-dlp -f hls-5398+hls-audio-aacl-96-Audio_Français $url
fi
dest=${url:12:7}
if [ $dest = "arte.tv" ];then
vid=$(yt-dlp -F $url |grep 1280|grep Français|cut -d: -f2| awk '{print $1}')
aud=$(yt-dlp -F $url |grep audio|grep Français|grep -v Allemand|grep -v confort|grep -v audiodescription|cut -d: -f2| awk '{print $1}')
/usr/bin/yt-dlp -f ${vid}+${aud} $url
fi
dest=${url:2:8}
if [ $dest = "youtu.be" ];then
/usr/bin/yt-dlp -f 136+251 $url
fi
done
if [ -f ~/Bureau/ydlit.lst ]; then
rm ~/Bureau/ydlit.lst
fi
else
echo " "
fi
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#6 Le 18/11/2024, à 18:15
- JujuLand
Re : [Résolu] Enregistrement et lecture de vidéo encodée vp09
Et maintenant une version qui inclus en plus lcp.
#!/bin/bash
progvers="1.12"
datvers="2024-11-18"
if [ -f ~/Bureau/ydlit.lst ]; then
echo -e "\n${gGre}ydlit ${gCya}${progvers} ${progdate}${gYel}${datvers}${gGre} Alain Aupeix${noColor}"
nano ~/Bureau/ydlit.lst
fi
if [ -f ~/Bureau/ydlit.lst ]; then
ok=1
else
echo -e "\n${gGre}ydlit ${gCya}${progvers} ${progdate}${gYel}${datvers}${gGre} Alain Aupeix${noColor}"
echo -e "${gRed}Attention:${gCya} Fichier ~/Bureau/ydlit.lst non trouvé!$noColor"
sleep 2
nano ~/Bureau/ydlit.lst
fi
if [ "x$1" != "x" ];then
cd $1
else
cd ~/Vidéos
fi
if [ -f ~/Bureau/ydlit.lst ]; then
for url in $(cat ~/Bureau/ydlit.lst); do
echo " -------------------------------------"
echo -e ${gMag}$url${noColor}
date +'%d-%m-%y %R'
# lcp.fr >> youtube.com
dest=${url:8:17}
if [ $dest = "98kot.r.sp1-brevo" ];then
wget $url -O /tmp/lcp.tmp
refresh=$(cat /tmp/lcp.tmp|grep refresh)
url=${adress:36:43}
fi
if [ $dest = "france.tv" ];then
/usr/bin/yt-dlp -f hls-5398+hls-audio-aacl-96-Audio_Français $url
fi
dest=${url:12:7}
if [ $dest = "arte.tv" ];then
vid=$(yt-dlp -F $url |grep 1280|grep Français|cut -d: -f2| awk '{print $1}')
aud=$(yt-dlp -F $url |grep audio|grep Français|grep -v Allemand|grep -v confort|grep -v audiodescription|cut -d: -f2| awk '{print $1}')
/usr/bin/yt-dlp -f ${vid}+${aud} $url
fi
dest=${url:12:8}
if [ $dest = "youtu.be" ] || [ $dest = "youtube." ];then
/usr/bin/yt-dlp -f 136+251 $url
fi
# dailymotion ?
# dest=${url:8:6}
# if [ $dest = "lcp.fr" ];then
# url=$(yt-dlp -F $url |grep www.dailymotion|cut -d" " -f4|cut -d? -f1)
# vid=$(yt-dlp -F $url |grep 1280|cut -d: -f2| awk '{print $1}')
# /usr/bin/yt-dlp -f $vid $url
# fi
done
if [ -f ~/Bureau/ydlit.lst ]; then
rm ~/Bureau/ydlit.lst
fi
else
echo " "
fi
A+
Dernière modification par JujuLand (Le 19/11/2024, à 08:15)
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#7 Le 19/11/2024, à 08:33
- JujuLand
Re : [Résolu] Enregistrement et lecture de vidéo encodée vp09
Ajout de dailymotion ...
#!/bin/bash
progvers="1.12"
datvers="2024-11-18"
if [ -f ~/Bureau/ydlit.lst ]; then
echo -e "\n${gGre}ydlit ${gCya}${progvers} ${progdate}${gYel}${datvers}${gGre} Alain Aupeix${noColor}"
nano ~/Bureau/ydlit.lst
fi
if [ -f ~/Bureau/ydlit.lst ]; then
ok=1
else
echo -e "\n${gGre}ydlit ${gCya}${progvers} ${progdate}${gYel}${datvers}${gGre} Alain Aupeix${noColor}"
echo -e "${gRed}Attention:${gCya} Fichier ~/Bureau/ydlit.lst non trouvé!$noColor"
sleep 2
nano ~/Bureau/ydlit.lst
fi
if [ "x$1" != "x" ];then
cd $1
else
cd ~/Vidéos
fi
if [ -f ~/Bureau/ydlit.lst ]; then
for url in $(cat ~/Bureau/ydlit.lst); do
echo " -------------------------------------"
echo -e ${gMag}$url${noColor}
date +'%d-%m-%y %R'
dest=${url:8:17}
# lcp.fr >> youtube.com
if [ "$dest" = "98kot.r.sp1-brevo" ];then
wget $url -O /tmp/lcp.tmp
refresh=$(cat /tmp/lcp.tmp|grep refresh)
url=${refresh:46:43}
fi
if [ "$dest" = "france.tv" ];then
/usr/bin/yt-dlp -f hls-5398+hls-audio-aacl-96-Audio_Français $url
fi
dest=${url:12:7}
if [ "$dest" = "arte.tv" ];then
vid=$(yt-dlp -F $url |grep 1280|grep Français|cut -d: -f2| awk '{print $1}')
aud=$(yt-dlp -F $url |grep audio|grep Français|grep -v Allemand|grep -v confort|grep -v audiodescription|cut -d: -f2| awk '{print $1}')
/usr/bin/yt-dlp -f ${vid}+${aud} $url
fi
dest=${url:12:8}
if [ "$dest" = "youtu.be" ] || [ "$dest" = "youtube." ];then
/usr/bin/yt-dlp -f 136+251 $url
fi
dest=${url:12:11}
if [ "$dest" = "dailymotion" ];then
/usr/bin/yt-dlp -f hls-720 $url
fi
done
if [ -f ~/Bureau/ydlit.lst ]; then
rm ~/Bureau/ydlit.lst
fi
else
echo " "
fi
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#8 Le 19/11/2024, à 14:47
- JujuLand
Re : [Résolu] Enregistrement et lecture de vidéo encodée vp09
Ajout de publicsenat
Et donc au final : tf1, ftv, arte, lcp, publicsenat, youtube et dailymotion
#!/bin/bash
progvers="1.13"
datvers="2024-11-19"
if [ -f ~/Bureau/ydlit.lst ]; then
echo -e "\n${gGre}ydlit ${gCya}${progvers} ${progdate}${gYel}${datvers}${gGre} Alain Aupeix${noColor}"
nano ~/Bureau/ydlit.lst
fi
if [ -f ~/Bureau/ydlit.lst ]; then
ok=1
else
echo -e "\n${gGre}ydlit ${gCya}${progvers} ${progdate}${gYel}${datvers}${gGre} Alain Aupeix${noColor}"
echo -e "${gRed}Attention:${gCya} Fichier ~/Bureau/ydlit.lst non trouvé!$noColor"
sleep 2
nano ~/Bureau/ydlit.lst
fi
if [ "x$1" != "x" ];then
cd $1
else
cd ~/Vidéos
fi
if [ -f ~/Bureau/ydlit.lst ]; then
for url in $(cat ~/Bureau/ydlit.lst); do
echo " -------------------------------------"
echo -e ${gMag}$url${noColor}
date +'%d-%m-%y %R'
dest=${url:8:17}
# lcp.fr >> youtube.com
if [ "$dest" = "98kot.r.sp1-brevo" ];then
wget $url -O /tmp/lcp.tmp
refresh=$(cat /tmp/lcp.tmp|grep refresh)
url=${refresh:46:43}
fi
if [ "$dest" = "france.tv" ];then
/usr/bin/yt-dlp -f hls-5398+hls-audio-aacl-96-Audio_Français $url
fi
dest=${url:12:7}
if [ "$dest" = "arte.tv" ];then
vid=$(yt-dlp -F $url |grep 1280|grep Français|cut -d: -f2| awk '{print $1}')
aud=$(yt-dlp -F $url |grep audio|grep Français|grep -v Allemand|grep -v confort|grep -v audiodescription|cut -d: -f2| awk '{print $1}')
/usr/bin/yt-dlp -f ${vid}+${aud} $url
fi
dest=${url:12:8}
if [ "$dest" = "youtu.be" ] || [ "$dest" = "youtube." ];then
/usr/bin/yt-dlp -f 136+251 $url
fi
dest=${url:12:11}
if [ "$dest" = "publicsenat" ];then
/usr/bin/yt-dlp -f hls-2 $url
fi
dest=${url:12:11}
if [ "$dest" = "dailymotion" ];then
/usr/bin/yt-dlp -f hls-720 $url
fi
dest=${url:15:5}
if [ "$dest" = "gulli" ];then
vid=$(yt-dlp -F $url |grep 720x404|cut -d: -f2| awk '{print $1}')
/usr/bin/yt-dlp -f $vid $url
fi
done
if [ -f ~/Bureau/ydlit.lst ]; then
rm ~/Bureau/ydlit.lst
fi
if [ -f *temp.mp4 ]; then
rm *temp.mp4
fi
else
echo " "
fi
Pour avoir des messages couleur, et non du chinois, utiliser ce script (colors) en le plaçant dans un dossier accessible avec $PATH, et lancez-le dans .profile comme ceci :
. colors (point + espace+colors)
#!/bin/bash
version=1.10
datvers=2018-01-28
if [ "x$1" = "x-v" ];then
echo -e "ii\tcolors\t$version\t$datvers"
exit
fi
# Définition des couleurs
# Arrière-plan
export bBla='\033[40m'
export bRed='\033[41m'
export bGre='\033[42m'
export bYel='\033[43m'
export bBlu='\033[44m'
export bMag='\033[45m'
export bCya='\033[46m'
export bWhi='\033[47m'
# Normal
export fBla='\033[30m'
export fRed='\033[31m'
export fGre='\033[32m'
export fYel='\033[33m'
export fBlu='\033[34m'
export fMag='\033[35m'
export fCya='\033[36m'
export fWhi='\033[37m'
# Gras
export gBla='\033[1;30m'
export gRed='\033[1;31m'
export gGre='\033[1;32m'
export gYel='\033[1;33m'
export gBlu='\033[1;34m'
export gMag='\033[1;35m'
export gCya='\033[1;36m'
export gWhi='\033[1;37m'
# Sans couleur
export noColor='\033[0m'
# Déplacements sur l'écran:
# home
export mho='\033[0H'
# end
export men='\033[0F'
# left
export mle='\033[0D'
# right
export mri='\033[0C'
# up
export mup='\033[0A'
# down
export mdo='\033[0B'
# Gestion curseur:
# hidden
export chid="\033[?25l"
# see
export csee="\033[?25h"
A+
Dernière modification par JujuLand (Le 19/11/2024, à 15:00)
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#9 Le 22/11/2024, à 19:29
- moko138
Re : [Résolu] Enregistrement et lecture de vidéo encodée vp09
J'ai enregistré une vidéo avec yt-dlp sans problème, sauf que le codec vp09 n'est pas pris en charge, et que je ne peux pas la lire.
(...)
J'ai donc enregistré séparément vidéo en mp4 et audio en mp3 et ai essayé de les enregistrer ensuite ensemble, mais je n'ai pas réussi.
Avec cin, je n'ai pas compris comment faire, avec openshot, je n'ai pas réussi ...Y aurait-il un moyen, avec peut -être un autre logiciel ?
A°
Avec ffmpeg (ou bien avconv), je le fais régulièrement :
Réenregistrer le fichier source, sans le son :
ffmpeg -i "source" -an "source-an.mp4"
Réenregistrer le fichier source, sans l'image :
ffmpeg -i "source" -vn -acodec libmp3lame "source-vn.mp3"
(Peut-être qu'avec les versions modernes, l'option -acodec libmp3lame n'est plus nécessaire ?)
Assembler les deux :
ffmpeg -i "source-an.mp4" -i "source-vn.mp3" -c copy -map 0:0 -map 1:0 "sortie.mp4"
.
Nota : les guillemets ne sont pas nécessaires, sauf s'il y a des espaces dans les noms de fichiers ou de chemins.
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne