This commit is contained in:
Thomas Forgione 2020-03-16 00:00:29 +01:00
parent 6f2113c15c
commit bed27db264
3 changed files with 24 additions and 19 deletions

View File

@ -37,14 +37,14 @@ function sorryHtml() {
function failureText(id, email, stdout, stderr) {
return (
"Une erreur a eu lieu !\n\nQuelque chose s'est mal passé pendant l'encodage de la video de " + email + " (" + id + + ")\n\n" +
"Une erreur a eu lieu !\n\nQuelque chose s'est mal passé pendant l'encodage de la video de " + email + " (" + id + ")\n\n" +
"STDOUT\n" + stdout + "\n\nSTDERR\n" + stderr
);
}
function failureHtml(id, email, stdout, stderr) {
return (
"<p>Une erreur a eu lieu !\n\nQuelque chose s'est mal passé pendant l'encodage de la video de " + email + " (" + id + + ")</p><p>" +
"<p>Une erreur a eu lieu !\n\nQuelque chose s'est mal passé pendant l'encodage de la video de " + email + " (" + id + ")</p><p>" +
"<h3>STDOUT</h3><pre><code>" + stdout + "</code></pre><h3>STDERR</h3><pre><code>" + stderr + "</code></pre></p>"
);
}
@ -94,7 +94,7 @@ app.post('/easy-edit', async (req, res, next) => {
if (err) {
res.status(400).send(stderr);
res.status(400).send(stdout);
} else {
@ -107,7 +107,7 @@ app.post('/easy-edit', async (req, res, next) => {
transporter.sendMail({
from: '"Easy-Editing" <postmaster@tforgione.fr>',
to: fields.email,
subject: "Votre video est prête",
subject: "Une erreur s'est produite",
text: sorryText(),
html: sorryHtml(),
})
@ -115,9 +115,9 @@ app.post('/easy-edit', async (req, res, next) => {
transporter.sendMail({
from: '"Easy-Editing" <postmaster@tforgione.fr>',
to: fields.email,
subject: "Votre video est prête",
text: failureText(id, email, stdout, stderr),
html: failureHtml(id, email, stdout, stderr),
subject: "Une erreur s'est produite",
text: failureText(id, fields.email, stdout, stderr),
html: failureHtml(id, fields.email, stdout, stderr),
})
} else {

8
merge
View File

@ -6,17 +6,19 @@ if [ $files -eq 1 ]; then
cd $(ls)
fi
convert -density 300 *.pdf -resize 1440x1080! '%01d'.png
convert -density 300 *.pdf -resize 1440x1080! '%d'.png
count=$(ls *wav | wc -l)
files=""
for i in `seq 0 $count`; do
for i in `seq 0 $(($count - 1))`; do
# fade
duration=$(sox $i.wav -n stat 2>&1 | grep Length | cut -d ':' -f 2 | tr -d '[:space:]')
sox $i.wav faded-$i.wav fade 0:0.1 $(soxi -d $i.wav) 0:0.1
files="$files faded-$i.wav"
echo -e "file '$i.png'\nduration $duration" >> video-input-list.txt
done
sox faded-{0..$count}.wav output.wav
sox $files output.wav
ffmpeg -f concat -safe 0 -i video-input-list.txt output.mp4
ffmpeg -i output.mp4 -i output.wav -c:v libx264 final.mp4

View File

@ -10,33 +10,36 @@ if [ $files -eq 1 ]; then
mv $(ls)/* .
fi
pdf_count=$(ls *.pdf 2>/dev/null | wc -l)
pdf_count=$(ls *.pdf | wc -l)
if [ $? -ne 0 ]; then
echo >&2 "<li>il doit y avoir un fichier PDF dans l'archive</li>"
echo "<li>il doit y avoir un fichier PDF dans l'archive</li>"
errored=1
elif [ $pdf_count -ne 1 ]; then
echo >&2 "<li>il ne doit y avoir qu'un seul fichier PDF dans l'archive</li>"
echo "<li>il ne doit y avoir qu'un seul fichier PDF dans l'archive</li>"
errored=1
else
number_of_pages=$(pdfinfo *.pdf 2>/dev/null| grep Pages | cut -d ':' -f 2 | tr -d '[:space:]')
number_of_sounds=$(ls *.wav 2>/dev/null | wc -l)
number_of_pages=$(pdfinfo *.pdf | grep Pages | cut -d ':' -f 2 | tr -d '[:space:]')
number_of_sounds=$(ls *.wav | wc -l)
if [ $? -ne 0 ]; then
echo >&2 "<li>il doit y avoir des fichiers .wav dans l'archive</li>"
echo "<li>il doit y avoir des fichiers .wav dans l'archive</li>"
errored=1
elif [ $number_of_sounds -ne $number_of_pages ]; then
echo >&2 "<li>il y a $number_of_sounds fichiers sonores mais $number_of_pages planches dans vos slides</li>"
echo "<li>il y a $number_of_sounds fichiers sonores mais $number_of_pages planches dans vos slides</li>"
errored=1
else
for i in `seq 0 $number_of_sounds`; do
for i in `seq 0 $(($number_of_sounds - 1))`; do
echo $i
if ! [ -f $i.wav ]; then
"<li>les fichiers sonores doivent s'appeler 0.wav, 1.wav, 2.wav, etc...</li>"
echo "<li>les fichiers sonores doivent s'appeler 0.wav, 1.wav, 2.wav, etc...</li>"
errored=1
break
fi
done
fi