Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 28-08-2019 16:52:06

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

[Résolu]Explication sur un script

Bonjour,

je viens de me faire un système pour sauvegarder mes VHS-C ( enregistrement + visionnage en temps réel)
Je voudrais améliorer les coupures de début et de fin sur chaque morceaux par un fondu noir dégressif/progressif ainsi que pour l'audio.
Chose réussi. J'ai trouvé ce script que j'ai modifié à ma sauce. J'en ai fait un script nautilus et sélectif.
Mais une chose m'échappe:
si ces fichiers mp4, mkv .... sont dans un dossier, ça fonctionne. Mais si les fichiers sont éparpillés sur mon bureau, rien ne se passe. Mon terminal se ferme très rapidement. Voilà le script en question. Si vous avez une idée :


#!/bin/bash

for f in "$@"; do
  dur=$(ffprobe -loglevel error -show_entries format=duration -of default=nk=1:nw=1 "$f")
  offset=$(bc -l <<< "$dur"-10)
    mate-terminal -x ffmpeg  -i "$f" -filter_complex \
        "[0:v]fade=type=in:duration=10,fade=type=out:duration=8:start_time='$offset'[v]; \
        [0:a]afade=type=in:duration=10,afade=type=out:duration=5:start_time='$offset'[a]"
\
    -loglevel repeat+verbose -map "[v]" -c:v h264_nvenc -preset hq -map "[a]" FADE_"$f";
done
 



Merci.

Dernière modification par golgot200 (28-08-2019 17:35:50)

Hors ligne

#2 28-08-2019 17:09:39

enicar
Membre
Lieu : ailleurs
Distrib. : sid
Noyau : 5.8.7
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu]Explication sur un script

Je pense que c'est à cause du répertoire courant qui n'est pas le bon,
du coup le script ne trouve pas les vidéos.

Hors ligne

#3 28-08-2019 17:33:17

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [Résolu]Explication sur un script

enicar a écrit :

Je pense que c'est à cause du répertoire courant qui n'est pas le bon,
du coup le script ne trouve pas les vidéos.



Merci !!!

Est-ce bien tounée ?  (en tous cas, ça fonctionne maintenant pour un fichier sur le Desktop)


#!/bin/bash


for filename in "$@"; do
  file_name_in=$(basename "$filename")
  dur=$(ffprobe -loglevel error -show_entries format=duration -of default=nk=1:nw=1 "$file_name_in")
  offset=$(bc -l <<< "$dur"-10)
    mate-terminal -x ffmpeg  -i "$file_name_in" -filter_complex \
        "[0:v]fade=type=in:duration=10,fade=type=out:duration=8:start_time='$offset'[v]; \
        [0:a]afade=type=in:duration=10,afade=type=out:duration=5:start_time='$offset'[a]"
\
    -loglevel repeat+verbose -map "[v]" -c:v h264_nvenc -preset hq -map "[a]" FADE_"$file_name_in";
done
 

Dernière modification par golgot200 (29-08-2019 04:31:27)

Hors ligne

#4 28-08-2019 17:39:46

enicar
Membre
Lieu : ailleurs
Distrib. : sid
Noyau : 5.8.7
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu]Explication sur un script

golgot200 a écrit :

Est-ce bien tounée ?


Je ne comprends pas ce que tu veux dire.

Hors ligne

#5 28-08-2019 17:46:27

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [Résolu]Explication sur un script

enicar a écrit :

golgot200 a écrit :

Est-ce bien tounée ?


Je ne comprends pas ce que tu veux dire.



Ce truc que j'ai rajouté :


file_name_in=$(basename "$filename")
 



Ce "basename" que j'ai repris sur un de mes scripts pour encoder mes fichiers musicaux et dont je ne comprend pas trop ce que ça veut dire.

EDIT
basename supprime le chemin ?

Dernière modification par golgot200 (28-08-2019 17:51:30)

Hors ligne

#6 28-08-2019 17:55:13

enicar
Membre
Lieu : ailleurs
Distrib. : sid
Noyau : 5.8.7
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu]Explication sur un script

golgot200 a écrit :

Ce "basename" que j'ai repris sur un de mes scripts pour encoder mes fichiers musicaux et que je ne comprend pas trop ce que ça veut dire.


As-tu essayé :


man basename
 


?
Pour moi, il n'y a un qu'un seul soucis avec tout ça, c'est de
lancer un mate-terminal dans un script. Je ne trouve pas cela très
beau. C'est une des raisons pour laquelle je n'utilise pas de
gestionnaire de fichier graphique (j'utilise le midnight-commander
mais pas pour lancer des scripts bien que ce soit possible). Ça oblige
à utiliser ce genre de bidouille si on veut voir ce que fait un
script. Mais c'est juste une histoire de goût.

Hors ligne

#7 28-08-2019 18:27:14

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [Résolu]Explication sur un script

Tu me fais penser que j'ai fait un script pour convertir des vidéos. Je l'avais fait pour ma maman <3
.
C'est très bricolage, mais ça marche, et ça donne une barre de progression avec zenity. https://gnuw.arzinfo.pw/data/otyugh/inf … pegbar.mp4
Pour passer une vidéo en mp3 suffit de "ffmpegbar -e mp3 monfichier.mp4", pour ré-encoder avec une qualité détérioré "ffmpegbar -e mp4 -a "-crf 40"  monfichier.mp4"

C'est gadget mais bon x)
Le script est là si jamais ; https://gnuw.arzinfo.pw/data/otyugh/inf … /ffmpegbar

Dernière modification par otyugh (28-08-2019 18:37:24)


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

Hors ligne

#8 28-08-2019 19:12:03

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [Résolu]Explication sur un script

@enicar
Oui j'ai regardé "man basename" d'où mon edit. wink

@otyugh
Merci, je garde le script sous le coude wink

Résolu pour moi.

Hors ligne

Pied de page des forums