add website style
This commit is contained in:
parent
e784cec6ab
commit
590fcfd6ff
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,3 +12,4 @@
|
|||||||
/output/**/*.csv
|
/output/**/*.csv
|
||||||
/output/**/*.json
|
/output/**/*.json
|
||||||
/output/**/*.srt
|
/output/**/*.srt
|
||||||
|
.idea
|
||||||
|
2
Makefile
2
Makefile
@ -1,6 +1,8 @@
|
|||||||
default: install
|
default: install
|
||||||
install:
|
install:
|
||||||
bash install.sh
|
bash install.sh
|
||||||
|
wav:
|
||||||
|
bash inputs_to_wav.sh
|
||||||
convert:
|
convert:
|
||||||
bash transcript.sh $(args)
|
bash transcript.sh $(args)
|
||||||
srt:
|
srt:
|
||||||
|
@ -6,11 +6,13 @@ import os
|
|||||||
import wave
|
import wave
|
||||||
|
|
||||||
SetLogLevel(0)
|
SetLogLevel(0)
|
||||||
|
print(" ------- conversion simple de", sys.argv[1])
|
||||||
|
|
||||||
if not os.path.exists("models/fr"):
|
if not os.path.exists("models/fr"):
|
||||||
print ("Please download the model from https://alphacephei.com/vosk/models and unpack as 'models' in the current folder.")
|
print ("Please download the model from https://alphacephei.com/vosk/models and unpack as 'models' in the current folder.")
|
||||||
exit (1)
|
exit (1)
|
||||||
|
|
||||||
|
|
||||||
wf = wave.open(sys.argv[1], "rb")
|
wf = wave.open(sys.argv[1], "rb")
|
||||||
if wf.getnchannels() != 1 or wf.getsampwidth() != 2 or wf.getcomptype() != "NONE":
|
if wf.getnchannels() != 1 or wf.getsampwidth() != 2 or wf.getcomptype() != "NONE":
|
||||||
print ("Audio file must be WAV format mono PCM.")
|
print ("Audio file must be WAV format mono PCM.")
|
||||||
@ -25,7 +27,5 @@ while True:
|
|||||||
break
|
break
|
||||||
if rec.AcceptWaveform(data):
|
if rec.AcceptWaveform(data):
|
||||||
print(rec.Result())
|
print(rec.Result())
|
||||||
#else:
|
|
||||||
# print(rec.PartialResult())
|
|
||||||
|
|
||||||
print(rec.FinalResult())
|
print(rec.FinalResult())
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# utilisation: bash flac_to_wav.sh
|
|
||||||
# auteur du script: tykayn contact@cipherbliss.com
|
|
||||||
|
|
||||||
echo "########### conversion des fichiers audio .flac placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
|
|
||||||
echo " "
|
|
||||||
cd input
|
|
||||||
mkdir already_converted
|
|
||||||
|
|
||||||
for i in *.flac; do
|
|
||||||
|
|
||||||
echo "fichier à traiter: $i"
|
|
||||||
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%flac}wav"
|
|
||||||
|
|
||||||
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
|
||||||
mv "$i" already_converted/
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
echo " "
|
|
||||||
echo "########### OK "
|
|
||||||
echo "########### fichiers flac restant dans le dossier input "
|
|
||||||
ls -l *.flac
|
|
||||||
cd ..
|
|
||||||
echo " "
|
|
||||||
COUNT_LINES_ORIGIN=$(ls -l input/*.flac |wc -l)
|
|
||||||
COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
|
|
||||||
|
|
||||||
echo "########### fichiers flac dans le dossier input: $COUNT_LINES_ORIGIN "
|
|
||||||
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
|
|
||||||
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
|
|
||||||
exit 0
|
|
0
input/ydl/.gitkeep
Normal file
0
input/ydl/.gitkeep
Normal file
89
inputs_to_wav.sh
Normal file
89
inputs_to_wav.sh
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# utilisation: bash inputs_to_wav.sh
|
||||||
|
# auteur du script: tykayn contact@cipherbliss.com
|
||||||
|
|
||||||
|
echo "########### conversion des fichiers audio (mkv, mp3, mp4, ogg, webm, wav, avi) placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
|
||||||
|
echo " "
|
||||||
|
|
||||||
|
cd input
|
||||||
|
|
||||||
|
if -f already_converted; then
|
||||||
|
mkdir already_converted
|
||||||
|
fi
|
||||||
|
|
||||||
|
for i in *.avi; do
|
||||||
|
echo "fichier à traiter: $i"
|
||||||
|
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%avi}wav"
|
||||||
|
|
||||||
|
echo " converti en WAV, déplacement dans le dossier input/already_converted"
|
||||||
|
mv "$i" already_converted/
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
for i in *.flac; do
|
||||||
|
echo "fichier à traiter: $i"
|
||||||
|
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%flac}wav"
|
||||||
|
|
||||||
|
echo " converti en WAV, déplacement dans le dossier input/already_converted"
|
||||||
|
mv "$i" already_converted/
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in *.mkv; do
|
||||||
|
|
||||||
|
echo "fichier à traiter: $i"
|
||||||
|
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%mkv}wav"
|
||||||
|
|
||||||
|
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
||||||
|
mv "$i" already_converted/
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in *.mp3; do
|
||||||
|
|
||||||
|
echo "fichier à traiter: $i"
|
||||||
|
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%mp3}wav"
|
||||||
|
|
||||||
|
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
||||||
|
mv "$i" already_converted/
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in *.mp4; do
|
||||||
|
|
||||||
|
echo "fichier à traiter: $i"
|
||||||
|
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%mp4}wav"
|
||||||
|
|
||||||
|
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
||||||
|
mv "$i" already_converted/
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in *.ogg; do
|
||||||
|
|
||||||
|
echo "fichier à traiter: $i"
|
||||||
|
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%ogg}wav"
|
||||||
|
|
||||||
|
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
||||||
|
mv "$i" already_converted/
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in *.webm; do
|
||||||
|
|
||||||
|
echo "fichier à traiter: $i"
|
||||||
|
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%webm}wav"
|
||||||
|
|
||||||
|
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
||||||
|
mv "$i" already_converted/
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in *.wav; do
|
||||||
|
|
||||||
|
echo "fichier à traiter: $i"
|
||||||
|
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%wav}wav"
|
||||||
|
|
||||||
|
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
||||||
|
mv "$i" already_converted/
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
COUNT_LINES=$(ls -l input/converted_to_wav | wc -l)
|
||||||
|
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
|
||||||
|
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
|
||||||
|
exit 0
|
@ -1,32 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# utilisation: bash mkv_to_wav.sh
|
|
||||||
# auteur du script: tykayn contact@cipherbliss.com
|
|
||||||
|
|
||||||
echo "########### conversion des fichiers audio .mkv placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
|
|
||||||
echo " "
|
|
||||||
cd input
|
|
||||||
mkdir already_converted
|
|
||||||
|
|
||||||
for i in *.mkv; do
|
|
||||||
|
|
||||||
echo "fichier à traiter: $i"
|
|
||||||
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%mkv}wav"
|
|
||||||
|
|
||||||
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
|
||||||
mv "$i" already_converted/
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
echo " "
|
|
||||||
echo "########### OK "
|
|
||||||
echo "########### fichiers mkv restant dans le dossier input "
|
|
||||||
ls -l *.mkv
|
|
||||||
cd ..
|
|
||||||
echo " "
|
|
||||||
COUNT_LINES_ORIGIN=$(ls -l input/*.mkv |wc -l)
|
|
||||||
COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
|
|
||||||
|
|
||||||
echo "########### fichiers mkv dans le dossier input: $COUNT_LINES_ORIGIN "
|
|
||||||
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
|
|
||||||
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
|
|
||||||
exit 0
|
|
@ -1,32 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# utilisation: bash mp3_to_wav.sh
|
|
||||||
# auteur du script: tykayn contact@cipherbliss.com
|
|
||||||
|
|
||||||
echo "########### conversion des fichiers audio .mp3 placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
|
|
||||||
echo " "
|
|
||||||
cd input
|
|
||||||
mkdir already_converted
|
|
||||||
|
|
||||||
for i in *.mp3; do
|
|
||||||
|
|
||||||
echo "fichier à traiter: $i"
|
|
||||||
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%mp3}wav"
|
|
||||||
|
|
||||||
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
|
||||||
mv "$i" already_converted/
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
echo " "
|
|
||||||
echo "########### OK "
|
|
||||||
echo "########### fichiers mp3 restant dans le dossier input "
|
|
||||||
ls -l *.mp3
|
|
||||||
cd ..
|
|
||||||
echo " "
|
|
||||||
COUNT_LINES_ORIGIN=$(ls -l input/*.mp3 |wc -l)
|
|
||||||
COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
|
|
||||||
|
|
||||||
echo "########### fichiers mp3 dans le dossier input: $COUNT_LINES_ORIGIN "
|
|
||||||
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
|
|
||||||
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
|
|
||||||
exit 0
|
|
@ -1,32 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# utilisation: bash mp4_to_wav.sh
|
|
||||||
# auteur du script: tykayn contact@cipherbliss.com
|
|
||||||
|
|
||||||
echo "########### conversion des fichiers audio .mp4 placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
|
|
||||||
echo " "
|
|
||||||
cd input
|
|
||||||
mkdir already_converted
|
|
||||||
|
|
||||||
for i in *.mp4; do
|
|
||||||
|
|
||||||
echo "fichier à traiter: $i"
|
|
||||||
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%mp4}wav"
|
|
||||||
|
|
||||||
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
|
||||||
mv "$i" already_converted/
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
echo " "
|
|
||||||
echo "########### OK "
|
|
||||||
echo "########### fichiers mp4 restant dans le dossier input "
|
|
||||||
ls -l *.mp4
|
|
||||||
cd ..
|
|
||||||
echo " "
|
|
||||||
COUNT_LINES_ORIGIN=$(ls -l input/*.mp4 |wc -l)
|
|
||||||
COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
|
|
||||||
|
|
||||||
echo "########### fichiers mp4 dans le dossier input: $COUNT_LINES_ORIGIN "
|
|
||||||
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
|
|
||||||
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
|
|
||||||
exit 0
|
|
@ -1,32 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# utilisation: bash ogg_to_wav.sh
|
|
||||||
# auteur du script: tykayn contact@cipherbliss.com
|
|
||||||
|
|
||||||
echo "########### conversion des fichiers audio .ogg placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
|
|
||||||
echo " "
|
|
||||||
cd input
|
|
||||||
mkdir already_converted
|
|
||||||
|
|
||||||
for i in *.ogg; do
|
|
||||||
|
|
||||||
echo "fichier à traiter: $i"
|
|
||||||
ffmpeg -i "$i" -ac 1 "converted_to_wav/${i%ogg}wav"
|
|
||||||
|
|
||||||
echo " converti en WAv, déplacement dans le dossier input/already_converted"
|
|
||||||
mv "$i" already_converted/
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
echo " "
|
|
||||||
echo "########### OK "
|
|
||||||
echo "########### fichiers ogg restant dans le dossier input "
|
|
||||||
ls -l *.ogg
|
|
||||||
cd ..
|
|
||||||
echo " "
|
|
||||||
COUNT_LINES_ORIGIN=$(ls -l input/*.ogg |wc -l)
|
|
||||||
COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
|
|
||||||
|
|
||||||
echo "########### fichiers ogg dans le dossier input: $COUNT_LINES_ORIGIN "
|
|
||||||
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
|
|
||||||
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
|
|
||||||
exit 0
|
|
@ -2,11 +2,18 @@
|
|||||||
# utilisation: bash transcript.sh MONFICHIER.wav
|
# utilisation: bash transcript.sh MONFICHIER.wav
|
||||||
# auteur du script: tykayn contact@cipherbliss.com
|
# auteur du script: tykayn contact@cipherbliss.com
|
||||||
|
|
||||||
|
if [ $1 ]; then
|
||||||
|
file=$1
|
||||||
|
fi
|
||||||
|
|
||||||
echo "########### $(date) : conversion de fichier audio .WAV mono piste uniquement,
|
echo "########### $(date) : conversion de fichier audio .WAV mono piste uniquement,
|
||||||
avec Vosk installé par pip3, et un modèle de textes en français."
|
avec Vosk installé par pip3, et un modèle de textes en français."
|
||||||
echo " "
|
echo " "
|
||||||
echo "########### $(date) : fichier : $file"
|
echo "########### $(date) : fichier : $file : $1"
|
||||||
|
|
||||||
|
#FOLDER_MODEL="fr" # disponibles: "fr" ou "en"
|
||||||
|
#ENABLE_SRT=false
|
||||||
|
ENABLE_SRT=true
|
||||||
FOLDER_MODEL="fr"
|
FOLDER_MODEL="fr"
|
||||||
|
|
||||||
# existence du modèle demandé
|
# existence du modèle demandé
|
||||||
@ -24,8 +31,11 @@ fi
|
|||||||
if [ -f "$file" ]; then
|
if [ -f "$file" ]; then
|
||||||
echo "$file exists."
|
echo "$file exists."
|
||||||
else
|
else
|
||||||
|
echo "########### $(date) : [ERREUR] fichier introuvable: $file"
|
||||||
echo "########### $(date) : [ERREUR] voici les fichiers disponibles dans input/converted_to_wav: "
|
echo "########### $(date) : [ERREUR] voici les fichiers disponibles dans input/converted_to_wav: "
|
||||||
|
echo " "
|
||||||
ls -l input/converted_to_wav
|
ls -l input/converted_to_wav
|
||||||
|
echo " "
|
||||||
echo "########### $(date) : [ERREUR] le fichier $file n'existe PAS :C "
|
echo "########### $(date) : [ERREUR] le fichier $file n'existe PAS :C "
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@ -33,31 +43,34 @@ echo " "
|
|||||||
FILE_NAME=$(basename $file .wav)
|
FILE_NAME=$(basename $file .wav)
|
||||||
OUT_DIR=$( echo "output/$FILE_NAME")
|
OUT_DIR=$( echo "output/$FILE_NAME")
|
||||||
mkdir output/$FILE_NAME
|
mkdir output/$FILE_NAME
|
||||||
|
echo " convertir en sous titre ? $ENABLE_SRT"
|
||||||
|
if ($ENABLE_SRT) ; then
|
||||||
|
echo "########### $(date) : conversion de la sortie en fichier de sous titres .srt"
|
||||||
|
python3 ./extract_srt.py "$file" > $OUT_DIR/5_output_$FILE_NAME.srt
|
||||||
|
else
|
||||||
|
echo "########### $(date) : conversion de la sortie en divers fichiers marquant les temps et sans marquage"
|
||||||
|
python3 ./conversion_simple_fr.py "$file" > $OUT_DIR/0_output_$FILE_NAME.json
|
||||||
|
|
||||||
python3 ./conversion_simple_fr.py "$file" > $OUT_DIR/0_output_$FILE_NAME.json
|
echo " "
|
||||||
|
echo "########### $(date) : nettoyer la sortie "
|
||||||
|
jq .text $OUT_DIR/0_output_$FILE_NAME.json > $OUT_DIR/1_converted_$FILE_NAME.txt
|
||||||
|
|
||||||
|
sed 's/null//g' $OUT_DIR/1_converted_$FILE_NAME.txt > $OUT_DIR/2_without_nulls_$FILE_NAME.txt
|
||||||
|
sed 's/^ *//; s/ *$//; /^$/d' $OUT_DIR/2_without_nulls_$FILE_NAME.txt > $OUT_DIR/3_without_nulls_$FILE_NAME.txt
|
||||||
|
sed 's/\"//g' $OUT_DIR/3_without_nulls_$FILE_NAME.txt > $OUT_DIR/4_phrases_$FILE_NAME.txt
|
||||||
|
echo "########### $(date) : OK "
|
||||||
|
echo " "
|
||||||
|
COUNT_LINES=$(cat $OUT_DIR/4_phrases_$FILE_NAME.txt |wc -l)
|
||||||
|
cat $OUT_DIR/4_phrases_$FILE_NAME.txt
|
||||||
|
echo " "
|
||||||
|
echo "########### $(date) : lignes transcriptes $COUNT_LINES "
|
||||||
|
echo "########### $(date) : conversion faite dans output/converted_out_without_nulls.txt"
|
||||||
|
echo "########### $(date) : conversion de la sortie en pseudo fichier de sous titres"
|
||||||
|
perl clean.sh $OUT_DIR/0_output_$FILE_NAME.json > $OUT_DIR/5_phrases_min_sec_$FILE_NAME.txt
|
||||||
|
cat $OUT_DIR/5_phrases_min_sec.srt
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
echo " "
|
|
||||||
echo "########### $(date) : nettoyer la sortie "
|
|
||||||
jq .text $OUT_DIR/0_output_$FILE_NAME.json > $OUT_DIR/1_converted_$FILE_NAME.txt
|
|
||||||
|
|
||||||
sed 's/null//g' $OUT_DIR/1_converted_$FILE_NAME.txt > $OUT_DIR/2_without_nulls_$FILE_NAME.txt
|
|
||||||
sed 's/^ *//; s/ *$//; /^$/d' $OUT_DIR/2_without_nulls_$FILE_NAME.txt > $OUT_DIR/3_without_nulls_$FILE_NAME.txt
|
|
||||||
sed 's/\"//g' $OUT_DIR/3_without_nulls_$FILE_NAME.txt > $OUT_DIR/4_phrases_$FILE_NAME.txt
|
|
||||||
echo "########### $(date) : OK "
|
|
||||||
echo " "
|
|
||||||
COUNT_LINES=$(cat $OUT_DIR/4_phrases_$FILE_NAME.txt |wc -l)
|
|
||||||
cat $OUT_DIR/4_phrases_$FILE_NAME.txt
|
|
||||||
echo " "
|
|
||||||
echo "########### $(date) : lignes transcriptes $COUNT_LINES "
|
|
||||||
echo "########### $(date) : conversion faite dans output/converted_out_without_nulls.txt"
|
|
||||||
echo "########### $(date) : conversion de la sortie en pseudo fichier de sous titres"
|
|
||||||
perl clean.sh $OUT_DIR/0_output_$FILE_NAME.json > $OUT_DIR/5_phrases_min_sec_$FILE_NAME.txt
|
|
||||||
cat $OUT_DIR/5_phrases_min_sec.srt
|
|
||||||
|
|
||||||
echo "########### $(date) : conversion de la sortie en fichier de sous titres "
|
|
||||||
python3 ./extract_srt.py "$file" > $OUT_DIR/5_output_$FILE_NAME.srt
|
|
||||||
|
|
||||||
ls -l $OUT_DIR
|
ls -l $OUT_DIR
|
||||||
|
|
||||||
|
24
webm_to_wav.sh
Normal file
24
webm_to_wav.sh
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# utilisation: bash webm_to_wav.sh
|
||||||
|
# auteur du script: tykayn contact@cipherbliss.com
|
||||||
|
|
||||||
|
echo "########### conversion des fichiers audio .webm placés dans le dossier input, vers du wav mono-piste uniquement dans le dossier input/converted_to_wav"
|
||||||
|
echo " "
|
||||||
|
cd input
|
||||||
|
mkdir already_converted
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo " "
|
||||||
|
echo "########### OK "
|
||||||
|
echo "########### fichiers webm restant dans le dossier input "
|
||||||
|
ls -l *.webm
|
||||||
|
cd ..
|
||||||
|
echo " "
|
||||||
|
COUNT_LINES_ORIGIN=$(ls -l input/*.webm |wc -l)
|
||||||
|
COUNT_LINES=$(ls -l input/converted_to_wav |wc -l)
|
||||||
|
|
||||||
|
echo "########### fichiers webm dans le dossier input: $COUNT_LINES_ORIGIN "
|
||||||
|
echo "########### fichiers wav dans le dossier input/converted_to_wav: $COUNT_LINES "
|
||||||
|
echo "########### conversion faite dans output/converted_out_without_nulls.txt"
|
||||||
|
exit 0
|
25
website/_foot.php
Normal file
25
website/_foot.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
</main>
|
||||||
|
<section class="container footer has-background-black has-text-grey-light">
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<h1 class="title is-2">Confidentialité</h1>
|
||||||
|
ce site utilise youtube-dl pour récupérer la vidéo à transcrire et travailler dessus sur le serveur où cette page
|
||||||
|
est installée.
|
||||||
|
Ce site ne contient aucun tracker, les fichiers audio et vidéo téléchargés sont supprimés régulièrement, aucun usage de ce que vous mettez sur ce site autre que pour transcrire de l'audio n'est opéré.
|
||||||
|
Vous pouvez aussi installer sur votre propre machine ce logiciel libre sous licence GNU affero v3.
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<h1 class="title is-2">Sources</h1>
|
||||||
|
<a href="https://forge.chapril.org/tykayn/transcription">
|
||||||
|
Sources: Transcription sur la forge du chapril. </a>
|
||||||
|
<br>Ceci est un logiciel libre, vous pouvez l'améliorer et examiner
|
||||||
|
son fonctionnement comme bon vous semble.
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
13
website/_head.php
Normal file
13
website/_head.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>
|
||||||
|
Transcription vosk
|
||||||
|
</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="./bulma.min.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main class='main'>
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<h1 class="title is-2">Transcription Vosk</h1>
|
||||||
|
</div>
|
1
website/bulma.min.css
vendored
Normal file
1
website/bulma.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1,27 +1,55 @@
|
|||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
include( '_head.php' );
|
||||||
|
/**
|
||||||
|
* récupération d'une vidéo par youtube dl et conversion
|
||||||
|
*/
|
||||||
|
|
||||||
function command_exist($cmd) {
|
|
||||||
$return = shell_exec(sprintf("which %s", escapeshellarg($cmd)));
|
|
||||||
return !empty($return);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(isset($_POST['url'])){
|
/**
|
||||||
|
* @param $cmd
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
function command_exist( $cmd ) {
|
||||||
|
$return = shell_exec( sprintf( "which %s", escapeshellarg( $cmd ) ) );
|
||||||
|
|
||||||
|
return ! empty( $return );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( isset( $_POST[ 'url' ] ) ) {
|
||||||
// sanitize input
|
// sanitize input
|
||||||
|
|
||||||
$url = $_POST['url'];
|
$url = $_POST[ 'url' ];
|
||||||
|
|
||||||
echo "récupération de la vidéo à l'url " . $url. " ... <br>";
|
echo "récupération de la vidéo à l'url " . $url . " ... <br>";
|
||||||
|
|
||||||
if (!command_exist('youtube-dl')) {
|
// if (!command_exist('youtube-dl')) {
|
||||||
print '[Erreur] pas de commande youtube-dl installée sur ce serveur';
|
// print '[Erreur] pas de commande youtube-dl installée sur ce serveur';
|
||||||
} else {
|
// } else {
|
||||||
shell_exec('youtube-dl -i -f best --output "../input/ydl/%(title)s.%(ext)s" '.$url);
|
|
||||||
}
|
|
||||||
|
|
||||||
}else{
|
$uniqid = time();
|
||||||
|
|
||||||
|
# exemple url https://peertube.cipherbliss.com/videos/watch/e6a37508-042e-4d83-8598-5d36b764bb3d
|
||||||
|
shell_exec( 'bash youtube-dl.sh ' . $uniqid . ' ' . $url );
|
||||||
|
|
||||||
|
// shell_exec('youtube-dl --extract-audio --audio-format flac --audio-quality 0 --output "../input/ydl/$time.flac" '.$url);
|
||||||
|
// shell_exec('youtube-dl --extract-audio --audio-format flac --audio-quality 0 --output "../input/ydl/%(title)s_audio.%(ext)s" '.$url);
|
||||||
|
// récup du nom de fichier
|
||||||
|
echo "récupération de la vidéo OK " . $url . ". <br>";
|
||||||
|
|
||||||
|
|
||||||
|
echo "Conversion de la vidéo" . $url . "... <br>";
|
||||||
|
|
||||||
|
echo "Vous pouvez télécharger vos fichiers.<br>";
|
||||||
|
|
||||||
|
$dir = scandir( '../input/ydl' );
|
||||||
|
var_dump( $dir );
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
echo "pas d'url envoyée. Vérifiez le formulaire. <a href='index.php'>Retour</a>";
|
echo "pas d'url envoyée. Vérifiez le formulaire. <a href='index.php'>Retour</a>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
include( 'website/run.php' );
|
include( '_foot.php' );
|
||||||
|
@ -1,32 +1,27 @@
|
|||||||
<?php
|
<?php
|
||||||
include( 'website/download.php' );
|
include( '_head.php' );
|
||||||
?>
|
?>
|
||||||
<html>
|
<section class="hero is-info is-large">
|
||||||
<head>
|
<div class="hero-body">
|
||||||
<title>
|
<div class="container">
|
||||||
Transcription vosk
|
|
||||||
</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<main class='container'>
|
<p class="title">
|
||||||
<h1>Transcription</h1>
|
Conversion d'audio ou de vidéo en texte
|
||||||
<section>
|
</p>
|
||||||
Donnez l'url de la vidéo à transcrire.
|
<p class="subtitle">
|
||||||
<form action='download.php' method='post' >
|
Transcrire en Français avec une URL
|
||||||
<input type='text' name='url'>
|
<form action='download.php' method='post'>
|
||||||
<button type='submit'>Envoyer</button>
|
<input class="input is-block" type='text' name='url'
|
||||||
</form >
|
value="https://peertube.cipherbliss.com/videos/watch/e6a37508-042e-4d83-8598-5d36b764bb3d">
|
||||||
</section>
|
<br>
|
||||||
<section class='result'>
|
<button class="button is-primary" type='submit'>Envoyer</button>
|
||||||
Voici votre fichier de sous titres:
|
</form>
|
||||||
|
</div>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
</section>
|
|
||||||
<section>
|
<?php
|
||||||
<h1>Vie privée</h1>
|
include( '_foot.php' );
|
||||||
ce site utilise youtube-dl pour récupérer la vidéo à transcrire et travailler dessus sur le serveur où cette page est installée.
|
?>
|
||||||
Vous pouvez aussi installer sur votre propre machine ce logiciel libre sous licence GNU affero v3.
|
|
||||||
</section>
|
|
||||||
</main>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
9
website/youtube-dl.sh
Normal file
9
website/youtube-dl.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
UNIQID=$1
|
||||||
|
URL=$2
|
||||||
|
OUTPUT="../input/ydl/$UNIQID.flac"
|
||||||
|
|
||||||
|
youtube-dl --extract-audio --audio-format flac --audio-quality 0 --output $OUTPUT $URL
|
||||||
|
mkdir ../input/ydl/$UNIQID
|
||||||
|
ffmpeg -i "../input/ydl/$UNIQID" -ac 1 "../input/ydl/'.$UNIQID.'.wav"
|
Loading…
Reference in New Issue
Block a user