Caractères japonais Batch [Résolu]

Messages postés
18
Date d'inscription
samedi 30 septembre 2017
Statut
Membre
Dernière intervention
17 octobre 2019
-
Bonjour bonjour
En fait, j'essaie de faire un programme en Batch qui me permettrait d'utiliser la repo youtube-dl (en .exe dans le même dossier que mon .bat) automatiquement.
Étape par étape, ça donne
1.) Demander l'url youtube à l'utilisateur
2.) Demander la qualité de la vidéo à choisir (selon les résultats de youtube-dl)
3.) Demander la qualité de l'audio à choisir (selon ces mêmes résultats)
4.) Télécharger les deux fichiers
5.) Utiliser ffmepg pour combiner les deux dans un fichier final renommé selon le titre de la vidéo youtube.


Donc là en fait j'suis sur l'étape 5. Techniquement, j'ai tout bien fait, mais.
Mon soucis est le suivant : Pour récupérer le titre de la vidéo Youtube, je récupère le résultat d'une commande de youtube-dl dans un fichier, fichier que je lis ensuite pour le mettre dans une variable.
Jusque là tout va bien.
Le seul souci, c'est que les caractères du titre de la vidéo ne sont pas tous pris en compte dans le fichier .txt, parce que ce sont des caractères spéciaux (japonais en l'occurence)
Donc je ne sais pas comment récupérer le résultat de la commande dans une variable avec les caractères japonais dedans. Encore l'affichage dans le cmd je m'en fiche un peu parce que si j'ai la variable et que j'ai le fichier je peux les renommer comme il faut.
Du coup là j'suis sur ce programme. :

setlocal enabledelayedexpansion

:FIRST

set /p url=Merci d'entrer l'url youtube pour la télecharger :
youtube-dl -F %url%
set /p formatv=Merci d'entrer le format de video a telecharger :
set /p formata=Merci d'entrer le format d'audio a telecharger :
youtube-dl -f %formatv%+%formata% %url%


youtube-dl --get-filename -f %formatv%+%formata% %url% > tmp.txt
set /p filename=<tmp.txt
del tmp.txt

youtube-dl --get-id -f %formatv%+%formata% %url% > tmp.txt
set /p fileid=<tmp.txt
del tmp.txt
set fileid=-!fileid!
set filenamea=!filename:webm=f%formata%.webm!
set filenamev=!filename:webm=f%formatv%.webm!
echo !filenamea!
echo !filenamev!
echo !fileid!

echo !filename:%fileid%=! > filenamewithoutid.txt

REM ffmpeg -i !filename:.webm=.f%formatv%.webm! -i!filename:.webm=.f%formata%.webm! -c copy -map 0:0 -map 1:0 !filename!
REM le code rem ci-dessus n’a pas encore été testé

set url=""
GOTO :FIRST


Si jamais vous voulez des explications sur pourquoi j'ai fait telle où telle chose sur le programme je vous le dirais.
Le seul truc que je vais supprimer une fois le programme terminé ce sera les echo qui ne vont pas dans un fichier
+ ajouter @ECHO OFF.
(mais j'avais besoin de voir les étapes)
Voilà voilà, merci d'avance !
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
12391
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
7 novembre 2019
2384
2
Merci
Bonsoir,

Voilà comment "variabiliser" le titre de la vidéo :

for /f "delims=" %%A in ('youtube-dl --get-title "https://www.youtube.com/watch?v=isIj3tuQTDY"') do set "titre=%%A"

echo !titre!



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”

Dire « Merci » 2

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 71530 internautes nous ont dit merci ce mois-ci

Commenter la réponse de barnabe0057
Messages postés
3275
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
11 novembre 2019
905
2
Merci
Salut.

Pourquoi utiliser ffmpeg pour fusionner les 2 fichiers, sachant que youtube-dl le fait ?
Et pourquoi as-tu besoin de récupérer le titre de la vidéo ?

Si c'est pour que le titre du fichier correspond au titre de la vidéo, il y a plus simple.

Rien qu'avec ceci, j'ai téléchargé la vidéo, avec le bon titre :
youtube-dl.exe -o "%%(title)s" -f 18+140 https://www.youtube.com/watch?v=vvgW_YaZdFs



Ensuite, tu mets youtube-dl.exe (sans chemin complet) : pour que cela fonctionne, il faut à la fois que ton fichier batch se trouve dans le même dossier que l'exécutable, et que ce fichier batch ne SOIT PAS lancer en tant qu'administrateur.

En effet, si le batch est lancé normalement, le dossier actuel, est celui du fichier batch.
Si le batch est lancé en tant qu'adminstrateur, le dossier, c'est c:\windows\system32.


Il faut rajouter au début
cd "%~dp0"
pour éviter ce souci.



++

Dire « Merci » 2

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 71530 internautes nous ont dit merci ce mois-ci

LeProgrammeurdu93
Messages postés
18
Date d'inscription
samedi 30 septembre 2017
Statut
Membre
Dernière intervention
17 octobre 2019
-
Bonjour,
Tout d'abord, merci de m'avoir accordé de ton temps.
J'ai donc ce code-ci :
@ECHO OFF
setlocal enabledelayedexpansion

:FIRST

set /p url=Merci d'entrer l'url youtube pour la télecharger :
youtube-dl -F %url%
set /p formatv=Merci d'entrer le format de video a telecharger :
set /p formata=Merci d'entrer le format d'audio a telecharger :
youtube-dl.exe -o "%%(title)s" -f %formatv%+%formata% %url%
set url=""

GOTO :FIRST
pause > null


Désormais, lorsque je télécharge une vidéo, les caractères japonais sont bien pris en compte, et je t'en remercie. Cependant, la vidéo et l'audio sont téléchargés dans deux fichiers différents :
J'ai deux fichiers désormais lorsque je télécharge une vidéo :
1.) Titre de la vidéo.f18 (18 par exemple pour le format 18 de vidéo, et sans extension mp4 ou m4a)
2.) Titre de la vidéo.f140 (140 pour le format de l'audio)

Merci d'avance, et je remerci également barnabe0057, dont je vais tester la solution de suite.
Commenter la réponse de little boy62
Messages postés
3275
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
11 novembre 2019
905
0
Merci
Salut.

J'ai deux fichiers désormais lorsque je télécharge une vidéo :
1.) Titre de la vidéo.f18 (18 par exemple pour le format 18 de vidéo, et sans extension mp4 ou m4a)
2.) Titre de la vidéo.f140 (140 pour le format de l'audio)


Réponse en image :
https://i.imgur.com/xxu4xXu.png


Conclusion : il te manque ffmpeg dans le dit dossier.


++
LeProgrammeurdu93
Messages postés
18
Date d'inscription
samedi 30 septembre 2017
Statut
Membre
Dernière intervention
17 octobre 2019
-
Ah, je pensais qu'il était inutile ;)
Je teste ça
LeProgrammeurdu93
Messages postés
18
Date d'inscription
samedi 30 septembre 2017
Statut
Membre
Dernière intervention
17 octobre 2019
-
Je confirme, désolé du dérangement et merci de ta réponse
little boy62
Messages postés
3275
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
11 novembre 2019
905 > LeProgrammeurdu93
Messages postés
18
Date d'inscription
samedi 30 septembre 2017
Statut
Membre
Dernière intervention
17 octobre 2019
-
De rien.

Et ne soit pas désolé, tu ne m'as pas dérangé. ^^
++
little boy62
Messages postés
3275
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
11 novembre 2019
905 -
Lu'

Pour info....

Conclusion : il te manque ffmpeg dans le dit dossier. 

Je t'avais dis avant :
Pourquoi utiliser ffmpeg pour fusionner les 2 fichiers, sachant que youtube-dl le fait ? 


Conclusion : j'suis Kon ^^

++
Commenter la réponse de little boy62