[Index Informatique] Tout sur l'informatique ? c'est ici...

Pour les gens qui ont simplement envie de discuter sans souhaiter faire passer d'information particulière.
Avatar du membre
SourisGrognon
Familier
Messages : 186
Enregistré le : vendredi 15 janvier 2021 à 13:41
Localisation : Jungle forestière

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par SourisGrognon »

Avis à ceux qui connaissent mieux les commandes Linux que moi - qui commence juste à m'y mettre -.

Je souhaite mettre en place une routine qui m'aiderait lors de récupération de contenus sur le Web. Problème, je ne connais pas les commandes qui correspondraient à ce que je voudrais, à savoir qu'il y a un choix OU deux choix OU trois choix parmi les trois possibles.
Spoiler : 
"Quel(ls) est/sont votre/vos choix parmi la liste suivante : anatole[1] betty[2] castor[3] ?"
"Vous avez choisi les programmes suivants :"

Choix 1
do

Choix 2
do

choix 3
do

Erreur : ce choix n'est pas disponible

"Programme terminé à [YYYYMMAA-HHMM]"
Merci par avance aux éventuelles réponses. :)
Diagnostiqué TSA en octobre 2020.
Conjointe diagnostiquée en janvier 2021.
Avatar du membre
Mizunotama
Passionné
Messages : 426
Enregistré le : mercredi 13 janvier 2021 à 19:37

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par Mizunotama »

SourisGrognon a écrit : mercredi 20 décembre 2023 à 23:47 Avis à ceux qui connaissent mieux les commandes Linux que moi - qui commence juste à m'y mettre -.

Je souhaite mettre en place une routine qui m'aiderait lors de récupération de contenus sur le Web. Problème, je ne connais pas les commandes qui correspondraient à ce que je voudrais, à savoir qu'il y a un choix OU deux choix OU trois choix parmi les trois possibles.
Spoiler : 
"Quel(ls) est/sont votre/vos choix parmi la liste suivante : anatole[1] betty[2] castor[3] ?"
"Vous avez choisi les programmes suivants :"

Choix 1
do

Choix 2
do

choix 3
do

Erreur : ce choix n'est pas disponible

"Programme terminé à [YYYYMMAA-HHMM]"
Merci par avance aux éventuelles réponses. :)
Tu parles bien du choix du traitement que tu ferais du contenu une fois récupéré sur le web, et non de la récupération en-elle meme (faisable avec curl notamment) ? Ca pourrait bien de le mettre dans un script sh pour lire une entrée que tu passerais alors pour savoir quoi faire.

Tu voudrais pouvoir faire plusieurs choix en même temps, c'est ca ? Ca me fait penser à des histoires de masque en vérifiant pour chaque bit qui correspondra à une option de ton programme s'il est à 1 ou pas pour lancer l'option en question : par exemple, si on dit que tes 3 choix sont A, B et C, si tu passes le nombre 6 = 110 en binaire, ca correspondrait à faire les choix A et B mais pas le C
Diagnostiqué TSA sans déficience intellectuelle le 12/08/2022
Avatar du membre
SourisGrognon
Familier
Messages : 186
Enregistré le : vendredi 15 janvier 2021 à 13:41
Localisation : Jungle forestière

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par SourisGrognon »

Oh là, tu pars un peu loin par rapport à ce que j'avais pensé au départ. :)

En fait il s'agirait d'un script à choix multiple basé sur yt-dlp.
Faire un script avec un seul choix, j'ai réussi à faire, avec des boucles "if". En revanche, dans le cas de figure où il y a plus d'un cas (dont, finalement, plusieurs arguments d'entrée), je veux pouvoir exécuter les sous-programmes choisis.
Voilà, je ne sais pas si c'est plus clair...
Merci en tout cas !
Diagnostiqué TSA en octobre 2020.
Conjointe diagnostiquée en janvier 2021.
Avatar du membre
user6539
Prolifique
Messages : 1000
Enregistré le : dimanche 27 octobre 2019 à 14:45

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par user6539 »

SourisGrognon a écrit : jeudi 21 décembre 2023 à 0:18 Oh là, tu pars un peu loin par rapport à ce que j'avais pensé au départ. :)

En fait il s'agirait d'un script à choix multiple basé sur yt-dlp.
Faire un script avec un seul choix, j'ai réussi à faire, avec des boucles "if". En revanche, dans le cas de figure où il y a plus d'un cas (dont, finalement, plusieurs arguments d'entrée), je veux pouvoir exécuter les sous-programmes choisis.
Voilà, je ne sais pas si c'est plus clair...
Merci en tout cas !
Salut SourisGrognon !

Dans le cadre du développement d'un script shell visant à implémenter une logique de sélection multiple, l'usage de structures conditionnelles `if` se révèle souvent inadéquat et peut conduire à des complexités algorithmiques non négligeables. Les raisons sous-jacentes sont multiples :

- Monolithisme des Structures Conditionnelles :
Les structures `if` sont intrinsèquement conçues pour évaluer des conditions singulières et linéaires. Lorsqu'on tente de les adapter à un contexte de choix multiples, elles requièrent l'implémentation de toutes les permutations possibles des choix, engendrant une complexité exponentielle et une lourdeur dans le code, peu propice à la maintenance et à l'évolutivité du script.

- Complexité Algorithmique : L'élaboration de conditions englobant toutes les combinaisons possibles des choix multiples s'avère être une tâche ardue, particulièrement lorsque le nombre de choix augmente. Cela induit une complexité algorithmique accrue, susceptible de générer des erreurs d'implémentation et de logique.

- Rigidité Structurelle : L'emploi de structures `if` dans ce contexte manque de flexibilité, notamment en termes de prise en charge d'entrées variables et dynamiques. Cette rigidité structurelle entrave l'adaptabilité du script à des scénarios où le nombre de choix peut fluctuer.

- Défi de la Gestion des Entrées : Le traitement d'entrées multiples au sein d'une unique instruction `if` nécessite une logique de séparation et de validation complexe, qui dépasse souvent les capacités inhérentes à cette structure conditionnelle.

- Probabilité d'Erreurs de Syntaxe et Logiques : L'architecture même des instructions `if` dans un tel scénario est sujette à des erreurs de syntaxe et des défaillances logiques, en raison de la nécessité de couvrir un spectre étendu de conditions et de cas.

En conclusion, il est judicieux de privilégier l'utilisation de structures telles que `case` dans une boucle `for` ou `while`, qui offrent une plus grande souplesse dans le traitement des sélections multiples. Cette approche permet d'évaluer chaque choix de manière isolée et structurée, favorisant ainsi un script plus robuste, évolutif et facilement « maintenable ».

Je te présente ci-après un exemple de script Shell, lequel tu pourras adapter selon tes impératifs spécifiques. J'ai opéré sous l'hypothèse que ton intention était de mettre en œuvre un script destiné au téléchargement de une, deux ou trois vidéos. Si ton objectif diffère de cette hypothèse, je te prie d'accepter mes excuses pour n'avoir pas entièrement saisi la nature de ta requête :

Code : Tout sélectionner

#!/bin/bash

# Définissez ici les URLs des vidéos
URL_ANATOLE="url_video_anatole"
URL_BETTY="url_video_betty"
URL_CASTOR="url_video_castor"

echo "Quel(s) est/sont votre/vos choix parmi la liste suivante : anatole[1] betty[2] castor[3] ?"
read -p "Entrez votre/vos choix (par exemple, 1 pour anatole, 12 pour anatole et betty, etc.) : " choix

for i in $(seq 1 ${#choix}); do
    char=${choix:$i-1:1}
    case $char in
        1)
            echo "Téléchargement de la vidéo anatole..."
            yt-dlp $URL_ANATOLE
            ;;
        2)
            echo "Téléchargement de la vidéo betty..."
            yt-dlp $URL_BETTY
            ;;
        3)
            echo "Téléchargement de la vidéo castor..."
            yt-dlp $URL_CASTOR
            ;;
        *)
            echo "Choix invalide: $char"
            ;;
    esac
done

Afin de préserver l’essence même de ton projet initial, je te soumets un script conçu pour t’octroyer la latitude de sélectionner une ou plusieurs options parmi les trois proposées (à savoir anatole, betty et castor). À cette fin, il est judicieux d’employer une boucle, laquelle se chargera d’analyser méticuleusement chaque caractère saisi :

Code : Tout sélectionner


#!/bin/bash

echo "Quel(s) est/sont votre/vos choix parmi la liste suivante : anatole[1] betty[2] castor[3] ?"
read -p "Entrez votre/vos choix (par exemple, 1 pour anatole, 12 pour anatole et betty, etc.) : " choix

for i in $(seq 1 ${#choix}); do
    char=${choix:$i-1:1}
    case $char in
        1)
            echo "Vous avez choisi le programme anatole."
            # Commandes pour anatole
            ;;
        2)
            echo "Vous avez choisi le programme betty."
            # Commandes pour betty
            ;;
        3)
            echo "Vous avez choisi le programme castor."
            # Commandes pour castor
            ;;
        *)
            echo "Choix invalide: $char"
            ;;
    esac
done
Au sein de ce script, il est permis à l’utilisateur de saisir une séquence numérique, tel un agencement de chiffres – par exemple, ‘12’ pour désigner simultanément anatole et betty. Le script se déploie alors en parcourant scrupuleusement chaque caractère individuel de la chaîne de caractères introduite, procédant à l’exécution des instructions spécifiques liées à chaque choix effectué.

Pour capturer l’entrée utilisateur, le script emploie la commande read, et il s’ensuit l’usage d’une boucle for pour l’itération minutieuse sur chaque caractère de ladite entrée. La structure case est stratégiquement mise à contribution afin d’orchestrer l’exécution de commandes adéquates, correspondant au caractère courant traité dans la boucle.

Il est également envisageable de réaliser cette opération au moyen du langage Python, dans l’éventualité où cela s’alignerait avec tes préférences ou exigences techniques.
Spoiler : 
Un petit dernier qui confère à l'utilisateur la capacité de saisir une série indéterminée d'URLs et, subséquemment, d'initier le téléchargement de l'ensemble des vidéos correspondantes.
L'utilisateur est invité à introduire les URLs de manière séquentielle, et à signaler la complétude de cette opération par l'entrée d'un mot-clé spécifique, ici 'fin'. Postérieurement à cette phase de saisie, le script entreprend de traiter chacune des URLs accumulées au sein d'une structure de données tabulaire.

Le déroulement du script s'articule comme suit :

1. Instauration d'un tableau pour le stockage consigné des URLs.
2. Acquisition des URLs par le biais d'interactions successives avec l'utilisateur, jusqu'à l'indication de la fin de la saisie.
3. Vérification préalable visant à s'assurer de la présence d'au moins une URL dans le tableau.
4. Itération sur l'ensemble des URLs mémorisées, accompagnée du lancement du téléchargement de chaque vidéo par l'intermédiaire de la commande `yt-dlp`.

Code : Tout sélectionner

```bash
#!/bin/bash

# Création d'un tableau pour stocker les URLs
declare -a url_list

# Obtenir les URLs de l'utilisateur
while true; do
    read -p "Entrez l'URL de la vidéo à télécharger (ou tapez 'fin' pour terminer) : " url
    if [[ $url == "fin" ]]; then
        break
    fi
    url_list+=("$url")
done

# Vérifier si aucune URL n'a été saisie
if [ ${#url_list[@]} -eq 0 ]; then
    echo "Aucune URL saisie. Aucun téléchargement à effectuer."
    exit 1
fi

# Télécharger chaque vidéo
for url in "${url_list[@]}"; do
    echo "Téléchargement de la vidéo : $url"
    yt-dlp "$url"
done

echo "Tous les téléchargements sont terminés."
```
ASD (DSM-5)
Catch Me If You Scan or Buy Me a Phish & Chips.
ἕν οἶδα ὅτι οὐδὲν οἶδα. Σωκράτης
Avatar du membre
SourisGrognon
Familier
Messages : 186
Enregistré le : vendredi 15 janvier 2021 à 13:41
Localisation : Jungle forestière

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par SourisGrognon »

C3PO a écrit : jeudi 21 décembre 2023 à 2:51
Spoiler : 
SourisGrognon a écrit : jeudi 21 décembre 2023 à 0:18 Oh là, tu pars un peu loin par rapport à ce que j'avais pensé au départ. :)

En fait il s'agirait d'un script à choix multiple basé sur yt-dlp.
Faire un script avec un seul choix, j'ai réussi à faire, avec des boucles "if". En revanche, dans le cas de figure où il y a plus d'un cas (dont, finalement, plusieurs arguments d'entrée), je veux pouvoir exécuter les sous-programmes choisis.
Voilà, je ne sais pas si c'est plus clair...
Merci en tout cas !
Salut SourisGrognon !

Dans le cadre du développement d'un script shell visant à implémenter une logique de sélection multiple, l'usage de structures conditionnelles `if` se révèle souvent inadéquat et peut conduire à des complexités algorithmiques non négligeables. Les raisons sous-jacentes sont multiples :

- Monolithisme des Structures Conditionnelles :
Les structures `if` sont intrinsèquement conçues pour évaluer des conditions singulières et linéaires. Lorsqu'on tente de les adapter à un contexte de choix multiples, elles requièrent l'implémentation de toutes les permutations possibles des choix, engendrant une complexité exponentielle et une lourdeur dans le code, peu propice à la maintenance et à l'évolutivité du script.

- Complexité Algorithmique : L'élaboration de conditions englobant toutes les combinaisons possibles des choix multiples s'avère être une tâche ardue, particulièrement lorsque le nombre de choix augmente. Cela induit une complexité algorithmique accrue, susceptible de générer des erreurs d'implémentation et de logique.

- Rigidité Structurelle : L'emploi de structures `if` dans ce contexte manque de flexibilité, notamment en termes de prise en charge d'entrées variables et dynamiques. Cette rigidité structurelle entrave l'adaptabilité du script à des scénarios où le nombre de choix peut fluctuer.

- Défi de la Gestion des Entrées : Le traitement d'entrées multiples au sein d'une unique instruction `if` nécessite une logique de séparation et de validation complexe, qui dépasse souvent les capacités inhérentes à cette structure conditionnelle.

- Probabilité d'Erreurs de Syntaxe et Logiques : L'architecture même des instructions `if` dans un tel scénario est sujette à des erreurs de syntaxe et des défaillances logiques, en raison de la nécessité de couvrir un spectre étendu de conditions et de cas.

En conclusion, il est judicieux de privilégier l'utilisation de structures telles que `case` dans une boucle `for` ou `while`, qui offrent une plus grande souplesse dans le traitement des sélections multiples. Cette approche permet d'évaluer chaque choix de manière isolée et structurée, favorisant ainsi un script plus robuste, évolutif et facilement « maintenable ».

Je te présente ci-après un exemple de script Shell, lequel tu pourras adapter selon tes impératifs spécifiques. J'ai opéré sous l'hypothèse que ton intention était de mettre en œuvre un script destiné au téléchargement de une, deux ou trois vidéos. Si ton objectif diffère de cette hypothèse, je te prie d'accepter mes excuses pour n'avoir pas entièrement saisi la nature de ta requête :

Code : Tout sélectionner

#!/bin/bash

# Définissez ici les URLs des vidéos
URL_ANATOLE="url_video_anatole"
URL_BETTY="url_video_betty"
URL_CASTOR="url_video_castor"

echo "Quel(s) est/sont votre/vos choix parmi la liste suivante : anatole[1] betty[2] castor[3] ?"
read -p "Entrez votre/vos choix (par exemple, 1 pour anatole, 12 pour anatole et betty, etc.) : " choix

for i in $(seq 1 ${#choix}); do
    char=${choix:$i-1:1}
    case $char in
        1)
            echo "Téléchargement de la vidéo anatole..."
            yt-dlp $URL_ANATOLE
            ;;
        2)
            echo "Téléchargement de la vidéo betty..."
            yt-dlp $URL_BETTY
            ;;
        3)
            echo "Téléchargement de la vidéo castor..."
            yt-dlp $URL_CASTOR
            ;;
        *)
            echo "Choix invalide: $char"
            ;;
    esac
done

Afin de préserver l’essence même de ton projet initial, je te soumets un script conçu pour t’octroyer la latitude de sélectionner une ou plusieurs options parmi les trois proposées (à savoir anatole, betty et castor). À cette fin, il est judicieux d’employer une boucle, laquelle se chargera d’analyser méticuleusement chaque caractère saisi :

Code : Tout sélectionner


#!/bin/bash

echo "Quel(s) est/sont votre/vos choix parmi la liste suivante : anatole[1] betty[2] castor[3] ?"
read -p "Entrez votre/vos choix (par exemple, 1 pour anatole, 12 pour anatole et betty, etc.) : " choix

for i in $(seq 1 ${#choix}); do
    char=${choix:$i-1:1}
    case $char in
        1)
            echo "Vous avez choisi le programme anatole."
            # Commandes pour anatole
            ;;
        2)
            echo "Vous avez choisi le programme betty."
            # Commandes pour betty
            ;;
        3)
            echo "Vous avez choisi le programme castor."
            # Commandes pour castor
            ;;
        *)
            echo "Choix invalide: $char"
            ;;
    esac
done
Au sein de ce script, il est permis à l’utilisateur de saisir une séquence numérique, tel un agencement de chiffres – par exemple, ‘12’ pour désigner simultanément anatole et betty. Le script se déploie alors en parcourant scrupuleusement chaque caractère individuel de la chaîne de caractères introduite, procédant à l’exécution des instructions spécifiques liées à chaque choix effectué.

Pour capturer l’entrée utilisateur, le script emploie la commande read, et il s’ensuit l’usage d’une boucle for pour l’itération minutieuse sur chaque caractère de ladite entrée. La structure case est stratégiquement mise à contribution afin d’orchestrer l’exécution de commandes adéquates, correspondant au caractère courant traité dans la boucle.

Il est également envisageable de réaliser cette opération au moyen du langage Python, dans l’éventualité où cela s’alignerait avec tes préférences ou exigences techniques.
Spoiler : 
Un petit dernier qui confère à l'utilisateur la capacité de saisir une série indéterminée d'URLs et, subséquemment, d'initier le téléchargement de l'ensemble des vidéos correspondantes.
L'utilisateur est invité à introduire les URLs de manière séquentielle, et à signaler la complétude de cette opération par l'entrée d'un mot-clé spécifique, ici 'fin'. Postérieurement à cette phase de saisie, le script entreprend de traiter chacune des URLs accumulées au sein d'une structure de données tabulaire.

Le déroulement du script s'articule comme suit :

1. Instauration d'un tableau pour le stockage consigné des URLs.
2. Acquisition des URLs par le biais d'interactions successives avec l'utilisateur, jusqu'à l'indication de la fin de la saisie.
3. Vérification préalable visant à s'assurer de la présence d'au moins une URL dans le tableau.
4. Itération sur l'ensemble des URLs mémorisées, accompagnée du lancement du téléchargement de chaque vidéo par l'intermédiaire de la commande `yt-dlp`.

Code : Tout sélectionner

```bash
#!/bin/bash

# Création d'un tableau pour stocker les URLs
declare -a url_list

# Obtenir les URLs de l'utilisateur
while true; do
    read -p "Entrez l'URL de la vidéo à télécharger (ou tapez 'fin' pour terminer) : " url
    if [[ $url == "fin" ]]; then
        break
    fi
    url_list+=("$url")
done

# Vérifier si aucune URL n'a été saisie
if [ ${#url_list[@]} -eq 0 ]; then
    echo "Aucune URL saisie. Aucun téléchargement à effectuer."
    exit 1
fi

# Télécharger chaque vidéo
for url in "${url_list[@]}"; do
    echo "Téléchargement de la vidéo : $url"
    yt-dlp "$url"
done

echo "Tous les téléchargements sont terminés."
```


Merci beaucoup C3PO. C'est exactement ce dont j'avais besoin !
:)
Cependant, je pensais que c'était R2D2 le roi de la programmation ?
:D

Sinon, voici le résultat partiel de ton travail avec mes quelques lignes de code :
Spoiler : 
Merci aussi à Lucius pour son MP complétant bien ce script
:)
Spoiler : 

Code : Tout sélectionner

#!/bin/bash

echo "Merci de choisir dans la liste suivante : FTV[1], FTV_VOVF[2], ARTE[3], ARTE_VOVF[4] ou ARTE_VO[5]?"
read -p "Entrez votre/vos choix (par exemple, 1 pour FTV, 25 pour FTV_VOVF et ARTE_VO, etc.) : " choix

for i in $(seq 1 ${#choix}); do
    char=${choix:$i-1:1}
    case $char in
	1)
            	echo "Vous avez choisi le programme FTV."
            	# Commandes pour FTV
            	cd /mnt/hgfs/DOMAINE/CAPTVTY_Videos/FTV
		mkdir -p "$(date +"%Y%m%d")"
		cd "$_"
		yt-dlp -f bestvideo+bestaudio[format_id*=Audio_Français] --write-thumbnail --write-description --write-info-json --write-subs --sub-langs all --batch-file=/mnt/hgfs/DOMAINE/CAPTVTY_Videos/_links_/FTV.txt >> _Rapport-$(date +"%Y%m%d-%H%M")_.txt
		;;
		
	2)
            	echo "Vous avez choisi le programme FTV_VOVF."
            	# Commandes pour FTV_VOVF
		cd /mnt/hgfs/DOMAINE/CAPTVTY_Videos/FTV
		mkdir -p "$(date +"%Y%m%d")_VOVF"
		cd "$_"
		yt-dlp --audio-multistreams -f bestvideo+ba[format_id*=Audio_Originale]+ba[format_id*=Audio_Français] --write-thumbnail --write-description --write-info-json --write-subs --sub-langs all --batch-file=/mnt/hgfs/DOMAINE/CAPTVTY_Videos/_links_/FTV-VOVF.txt >> _Rapport-$(date +"%Y%m%d-%H%M")_.txt
            	;;
            	
	3)
            echo "Vous avez choisi le programme ARTE."
            # Commandes pour ARTE
            ;;
	4)
            echo "Vous avez choisi le programme ARTE_VOVF."
            # Commandes pour ARTE_VOVF
            ;;
	5)
            echo "Vous avez choisi le programme ARTE_VO."
            # Commandes pour ARTE_VO
            ;;
	*)
            echo "Choix invalide: $char"
            ;;
    esac
done

cd /mnt/hgfs/DOMAINE/CAPTVTY_Videos/
echo "Programme terminé à $(date +%Y%m%d-%H%M)" >> _Rapport_final-$(date +"%Y%m%d-%H%M")_.txt
Diagnostiqué TSA en octobre 2020.
Conjointe diagnostiquée en janvier 2021.
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par Tugdual »

Spoiler : 

À la place de « ba[format_id*=Audio_Français] » tu peux aussi tenter « ba[language=fr] ».

Il faut quand même se méfier de l'ordre des flux audio, en particulier quand l'audiodescription est en dernier.
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
SourisGrognon
Familier
Messages : 186
Enregistré le : vendredi 15 janvier 2021 à 13:41
Localisation : Jungle forestière

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par SourisGrognon »

Tugdual a écrit : jeudi 21 décembre 2023 à 20:20
Spoiler : 

À la place de « ba[format_id*=Audio_Français] » tu peux aussi tenter « ba[language=fr] ».

Il faut quand même se méfier de l'ordre des flux audio, en particulier quand l'audiodescription est en dernier.
Merci de ton retour.
:)

Dans ce cas de figure :
Spoiler : 

Code : Tout sélectionner

yt-dlp --list-subs -F https://www.france.tv/series-et-fictions/telefilms/12519-meurtres-a-l-ile-d-yeu.html

Code : Tout sélectionner

[FranceTVSite] Extracting URL: https://www.france.tv/series-et-fictions/telefilms/12519-meurtres-a-l-ile-d-yeu.html
[FranceTVSite] 12519-meurtres-a-l-ile-d-yeu: Downloading webpage
[FranceTV] Extracting URL: francetv:962d2888-8113-408e-b558-a7fd6fb5a57b
[FranceTV] 962d2888-8113-408e-b558-a7fd6fb5a57b: Downloading desktop video JSON
[FranceTV] 962d2888-8113-408e-b558-a7fd6fb5a57b: Downloading mobile video JSON
[FranceTV] 962d2888-8113-408e-b558-a7fd6fb5a57b: Downloading signed dash manifest URL
[FranceTV] 962d2888-8113-408e-b558-a7fd6fb5a57b: Downloading MPD manifest
[FranceTV] 962d2888-8113-408e-b558-a7fd6fb5a57b: Downloading signed hls manifest URL
[FranceTV] 962d2888-8113-408e-b558-a7fd6fb5a57b: Downloading m3u8 information
[info] Available subtitles for 962d2888-8113-408e-b558-a7fd6fb5a57b:
Language Formats
qsm      vtt, mp4
[info] Available formats for 962d2888-8113-408e-b558-a7fd6fb5a57b:
ID                                  EXT   RESOLUTION FPS │   FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC     ABR ASR MORE INFO
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
spritesheets                        mhtml unknown        │                  mhtml │ images                               storyboard
hls-audio-aacl-96-Audio_Description mp4   audio only     │                  m3u8  │ audio only        unknown            [qad] audio description, Audio Description
dash-audio_qad=96000                m4a   audio only     │ ~ 65.47MiB   96k dash  │ audio only        mp4a.40.2  96k 48k [qad] audio description, DASH audio, m4a_dash
hls-audio-aacl-96-Audio_Français    mp4   audio only     │                  m3u8  │ audio only        unknown            [fr] Audio Français
dash-audio_fre=96000                m4a   audio only     │ ~ 65.47MiB   96k dash  │ audio only        mp4a.40.2  96k 48k [fr] DASH audio, m4a_dash
dash-video=400000                   mp4   384x216     25 │ ~272.80MiB  400k dash  │ avc1.42C01E  400k video only         DASH video, mp4_dash
hls-522                             mp4   384x216     25 │ ~356.01MiB  522k m3u8  │ avc1.42C01E  522k video only
dash-video=950000                   mp4   640x360     25 │ ~647.91MiB  950k dash  │ avc1.4D401F  950k video only         DASH video, mp4_dash
hls-1105                            mp4   640x360     25 │ ~753.62MiB 1105k m3u8  │ avc1.4D401F 1105k video only
dash-video=1400000                  mp4   960x540     25 │ ~954.81MiB 1400k dash  │ avc1.4D401F 1400k video only         DASH video, mp4_dash
hls-1582                            mp4   960x540     25 │ ~  1.05GiB 1582k m3u8  │ avc1.4D401F 1582k video only
dash-video=2000000                  mp4   1280x720    25 │ ~  1.33GiB 2000k dash  │ avc1.64001F 2000k video only         DASH video, mp4_dash
hls-2218                            mp4   1280x720    25 │ ~  1.48GiB 2218k m3u8  │ avc1.64001F 2218k video only
dash-video=5000000                  mp4   1920x1080   25 │ ~  3.33GiB 5000k dash  │ avc1.640029 5000k video only         DASH video, mp4_dash
hls-5398                            mp4   1920x1080   25 │ ~  3.60GiB 5398k m3u8  │ avc1.640029 5398k video only

Comment être certain de récupérer le son HLS (mp4) en FR ?
Spoiler : 
Est-ce que HLS est de meilleure qualité que Dash-audio ?
Initialement, je voulais récupérer la colonne "MORE INFO". Je n'y suis jamais arrivé...
:hotcry:
Spoiler : 
Je commence ma nouvelle vie en abandonnant Captvty...
:mryellow:
Diagnostiqué TSA en octobre 2020.
Conjointe diagnostiquée en janvier 2021.
Avatar du membre
SourisGrognon
Familier
Messages : 186
Enregistré le : vendredi 15 janvier 2021 à 13:41
Localisation : Jungle forestière

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par SourisGrognon »

Je voulais éditer mon précédent message mais ça risquait d'entraîner plus de confusion que d'éclaircissement...
Merci pour les tuyaux, Tugdual, j'ai fouillé un peu et j'ai finalement trouvé ce qui correspondait à tes conseils. :bravo:

Merci à vous tous !
Spoiler : 
Curiouser a bien fait de me conseiller de soumettre ici mon problème (et comme ça, je l'ai laissée tranquille elle aussi :mrgreen: ).
Diagnostiqué TSA en octobre 2020.
Conjointe diagnostiquée en janvier 2021.
Avatar du membre
Curiouser
Modératrice
Messages : 5651
Enregistré le : mardi 3 septembre 2019 à 9:43
Localisation : Vosges

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par Curiouser »

Spoiler : 
SourisGrognon a écrit : jeudi 21 décembre 2023 à 21:59 Curiouser a bien fait de me conseiller de soumettre ici mon problème (et comme ça, je l'ai laissée tranquille elle aussi :mrgreen: ).
Ahum, c'est un peu éloigné de la réalité... "Curiouser, j'ai besoin d'aide, comment je peux éditer mon message ? Curiouser, s'il te plaît, tu veux bien écrire ce dernier message sur ton ordinateur, j'ai la flemme de me reconnecter ? Curiouser, va t'occuper de la machine à laver qui vient de finir" - ah, non, ça c'est moi qui viens de le dire à SourisGrognon il y a quelques minutes :mryellow: -
Diagnostiquée TSA en janvier 2021. Conjoint diagnostiqué TSA en octobre 2020.

Site : Tout Sur l'Autisme (ressources et documents)
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par Tugdual »

Juste pour info...
Spoiler : 
Il est possible de cumuler plusieurs tests à suivre « ba[...][...] ».

Je ne sais pas pour les différences de qualité des formats audio HLS/DASH, mais j'ai l'impression que dans les deux cas c'est le même flux ACC.

Il existe une interface graphique pour yt-dlp (mais je n'ai jamais testée) : yt-dlp-gui.
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
SourisGrognon
Familier
Messages : 186
Enregistré le : vendredi 15 janvier 2021 à 13:41
Localisation : Jungle forestière

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par SourisGrognon »

J'ai encore une petite question : je voudrais créer deux fichiers de log pour YT-DLP, à savoir
2>&1 : pour stdout & stderr
2> : pour stderr uniquement

Par exemple :

Code : Tout sélectionner

bash /mnt/hgfs/DOMAINE/CAPTVTY_Videos/_CMD_yt-dlp_/sub/FTV.sh 2> testblabla_2.txt &> testblabla_1.txt
Évidemment, mon code ne fonctionne pas puisque testblabla_2.txt est vide.

Une idée ?
:innocent:

Merci beaucoup par avance aux âmes charitables.
:D
Diagnostiqué TSA en octobre 2020.
Conjointe diagnostiquée en janvier 2021.
Avatar du membre
Tugdual
Modérateur
Messages : 41271
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par Tugdual »

Je ne suis pas sûr qu'on puisse rediriger un flux (ici stderr) vers deux endroits en même temps.

Des personnes plus pointues auront peut-être une solution...
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
SourisGrognon
Familier
Messages : 186
Enregistré le : vendredi 15 janvier 2021 à 13:41
Localisation : Jungle forestière

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par SourisGrognon »

Tugdual a écrit : vendredi 22 décembre 2023 à 13:22 Je ne suis pas sûr qu'on puisse rediriger un flux (ici stderr) vers deux endroits en même temps.

Des personnes plus pointues auront peut-être une solution...
A moins de stocker stderr dans un temp...
:innocent:
Diagnostiqué TSA en octobre 2020.
Conjointe diagnostiquée en janvier 2021.
Avatar du membre
SourisGrognon
Familier
Messages : 186
Enregistré le : vendredi 15 janvier 2021 à 13:41
Localisation : Jungle forestière

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par SourisGrognon »

SourisGrognon a écrit : vendredi 22 décembre 2023 à 13:38
Tugdual a écrit : vendredi 22 décembre 2023 à 13:22 Je ne suis pas sûr qu'on puisse rediriger un flux (ici stderr) vers deux endroits en même temps.

Des personnes plus pointues auront peut-être une solution...
A moins de stocker stderr dans un temp...
:innocent:
Trouvé
:)

Code : Tout sélectionner

((bash commande.sh 2>&1 1>&3 | tee errors.log) 3>&1 | tee output.log) > /dev/null 2>&1
Merci Tugdual, grâce à ta réponse, j'ai eu les mots clés qui me manquaient pour chercher sur le web.
:D
Diagnostiqué TSA en octobre 2020.
Conjointe diagnostiquée en janvier 2021.
Avatar du membre
user6539
Prolifique
Messages : 1000
Enregistré le : dimanche 27 octobre 2019 à 14:45

Re: [Index Informatique] Tout sur l'informatique ? c'est ici...

Message par user6539 »

Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
ASD (DSM-5)
Catch Me If You Scan or Buy Me a Phish & Chips.
ἕν οἶδα ὅτι οὐδὲν οἶδα. Σωκράτης