Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
avidemux [Le 03/08/2023, 19:07] geole [Traitement par lot] |
avidemux [Le 06/03/2024, 14:30] (Version actuelle) krodelabestiole [Avec Flatpak] réécriture / +recommandé |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>Bionic montage_vidéo vidéo encodage}} | {{tag>Bionic montage_vidéo vidéo encodage}} | ||
- | |||
- | ---- | ||
{{ :application:avidemux:avidemux.png?80|}} | {{ :application:avidemux:avidemux.png?80|}} | ||
Ligne 17: | Ligne 15: | ||
=====Installation===== | =====Installation===== | ||
Avidemux n'est pas dans les dépôts Ubuntu. | Avidemux n'est pas dans les dépôts Ubuntu. | ||
- | ==== Avec Flatpak ==== | + | ==== Avec Flatpak (recommandé) ==== |
- | + | ||
- | **Articles dédiés** : [[:flatpak]], [[:tutoriel/installer_application_flatpak|tutoriel pour l'utiliser]]. | + | |
- | + | ||
- | Depuis [[https://flathub.org/apps/details/org.avidemux.Avidemux|Flathub]], suivez les instructions qui vous concernent pour installer //Avidemux// selon le [[:tutoriel/installer_application_flatpak#niveaux_de_privileges|niveau de privilèges]] qui vous convient. | + | |
+ | **Avidemux** est disponible en [[:flatpak]] sur le dépôt [[https://flathub.org/apps/org.avidemux.Avidemux|Flathub]] et peut donc s'installer en suivant [[:tutoriel:installer_application_flatpak|cette procédure]] puis en installant le paquet ''org.avidemux.Avidemux''. | ||
==== Au format appimage ==== | ==== Au format appimage ==== | ||
Ligne 33: | Ligne 27: | ||
==== Depuis un PPA ==== | ==== Depuis un PPA ==== | ||
+ | |||
+ | <note warning> | ||
+ | Ces PPAs ne sont pas maintenus par des organismes officiels. | ||
+ | |||
+ | Cette méthode est donc [[ppa#presentation_des_depots_logiciels|déconseillée]]. | ||
+ | </note> | ||
+ | |||
Vous pouvez installer **avidemux** via un [[:PPA]] (18.04 LTS uniquement) : | Vous pouvez installer **avidemux** via un [[:PPA]] (18.04 LTS uniquement) : | ||
* [[:ppa|Ajouter le PPA]] **ppa:ubuntuhandbook1/avidemux**((https://launchpad.net/~ubuntuhandbook1/+archive/ubuntu/avidemux)) dans vos sources de logiciels; | * [[:ppa|Ajouter le PPA]] **ppa:ubuntuhandbook1/avidemux**((https://launchpad.net/~ubuntuhandbook1/+archive/ubuntu/avidemux)) dans vos sources de logiciels; | ||
Ligne 161: | Ligne 162: | ||
Le fichier contenant le script doit être placé dans le répertoire contenant les vidéos et peut être exécuter dans un [[:terminal]] via la [[:commande_shell|commande]]: <code>bash <nom_du_script></code> | Le fichier contenant le script doit être placé dans le répertoire contenant les vidéos et peut être exécuter dans un [[:terminal]] via la [[:commande_shell|commande]]: <code>bash <nom_du_script></code> | ||
- | === Script avec l'application image et changement de partition === | + | === Script avec l'application image pour changement de partition et de type de fichier === |
<code bash> | <code bash> | ||
+ | ENTREE=DoubleFBpourTV #Nom du répertoire de premier niveau contenant les fichiers à traiter. | ||
+ | SORTIE=freebox #Nom du répertoire de premier niveau contenant les fichiers traités. | ||
+ | RESULTAT=avidemux # Début du nom de fichiers contenant les résultats | ||
+ | ## Transcoder tous les fichiers d'une partition dans une autre partition. | ||
## Obtenir la liste des fichiers | ## Obtenir la liste des fichiers | ||
- | find /media/DoubleFBpourTV -type f -name *.avi >avi.txt; find /media/DoubleFBpourTV -type f -name *.mpg >>avi.txt | + | LIST=$RESULTAT-FIC-$(date +"%m-%d-%H-%M").txt |
- | head -1 avi.txt ; tail -1 avi.txt ; wc -l avi.txt | + | find /media/$ENTREE -type f -name *.AVI >$LIST |
+ | find /media/$ENTREE -type f -name *.avi >>$LIST | ||
+ | find /media/$ENTREE -type f -name *.mpg >>$LIST | ||
+ | find /media/$ENTREE -type f -name "*.m2ts" >>$LIST | ||
+ | head -1 $LIST; tail -1 $LIST ; wc -l $LIST | ||
===================================================================== | ===================================================================== | ||
+ | ERR0=$RESULTAT-ERR-$(date +"%m-%d-%H-%M").txt | ||
+ | SUIVI=$RESULTAT-SUIVI-$(date +"%m-%d-%H-%M").txt | ||
##Lancer ou relancer le transcodage. | ##Lancer ou relancer le transcodage. | ||
shopt -s globstar | shopt -s globstar | ||
- | while read i ; do echo traitememt de "'$i'"; | + | while read i ; do echo $(date +"%y-%m-%d %H:%M") Traitememt de "'$i'"; |
## Modifier le répertoire de destination et l'extension fichier | ## Modifier le répertoire de destination et l'extension fichier | ||
- | j=${i/DoubleFBpourTV/freebox};j=${j/.avi/.mkv};j=${j/.AVI/.mkv};j=${j/.mpg/.mkv} | + | j=${i/$ENTREE/$SORTIE};j=${j/.avi/.mkv};j=${j/.AVI/.mkv};j=${j/.mpg/.mkv};j=${j/.m2ts/.mkv} |
- | ## Si le dossier sortie n'existe pas, il faut le créer | + | ## Si le dossier sortie n'existe pas, il faut le créer. Attention des répertoires peuvent avoir des espaces. |
- | if [ ! -d $(dirname "$j") ]; then mkdir -pv $(dirname "$j"); fi | + | DIR="$(dirname "$j")"; if [ ! -d "$DIR" ]; then mkdir -pv "$DIR"; fi |
- | ##Regardons quand même si par hasard le fichier sortie est déjà présent | + | ##Regardons quand même si par hasard le fichier sortie est déjà présent. |
- | if [ -e "$j" ]; then echo $j existe déjà. On ne fait rien.; else | + | if [ -e "$j" ]; then echo $(date +"%y-%m-%d %H:%M") Traitement déjà fait pour le fichier "$i">>$SUIVI |
+ | else | ||
+ | sleep 10 # Au cas où on souhaiterait interrompre facilement le script. | ||
+ | ######set video codec (Copy|x264|x265|xvid4|ffMpeg2|ffNvEnc|...) | ||
######set audio codec (MP2/MP3/AC3/NONE (WAV PCM)/TWOLAME/COPY) | ######set audio codec (MP2/MP3/AC3/NONE (WAV PCM)/TWOLAME/COPY) | ||
- | echo "time $HOME/Téléchargements/avidemux_2.8.1.appImage --load $i --video-codec x264 --audio-codec AC3 --output-format MKV --save $j --quit" | + | ERR1=$RESULTAT-ERR-$(date +"%m-%d-%H-%M").txt;ERR2=$RESULTAT-ERR-$(date +"%m-%d-%H-%M").txt |
- | time $HOME/Téléchargements/avidemux_2.8.1.appImage --load "$i" --video-codec x264 --audio-codec AC3 --output-format MKV --save "$j" --quit 1>/tmp/avidemux.txt | + | $HOME/Téléchargements/avidemux_2.8.1.appImage --load "$i" --video-codec x264 --audio-codec AC3 --output-format MKV --save "$j" --quit 1>$ERR1 2>$ERR2 |
### Il reste à trouver une solution pour les noms ayant certains accents => Le processus est bloqué jusqu'à la validation de l'erreur. | ### Il reste à trouver une solution pour les noms ayant certains accents => Le processus est bloqué jusqu'à la validation de l'erreur. | ||
- | ## Je considère que le traitement est bien fait et je supprime le fichier de la liste pour pouvoir relancer sans difficulté. | + | ##Il faut supprimer le fichier de manoeuvre s'il a été créé, sinon on va manquer de place. |
- | sed -i '1d' mpg.txt | + | rm "${j/.*/.idx2}" 2>/dev/null |
- | ##Il aussi supprimer le fichier de manoeuvre s'il a été créé, sinon, on va manquer de place | + | A=$(cat $ERR1) |
- | rm -v ${j/.mkv/.idx2} | + | if [[ $A =~ "End of video stream reached" ]]; then echo $(date +"%y-%m-%d %H:%M") Bon traitement du fichier "$i" >>$SUIVI |
+ | else | ||
+ | if [[ $A =~ "100% done frames" ]]; then echo $(date +"%y-%m-%d %H:%M") Mauvaise fin du fichier "$i" >>$SUIVI | ||
+ | else | ||
+ | echo $(date +"%y-%m-%d %H:%M") Erreur de traitement du fichier "$i">>$SUIVI; echo "$i" >> $ERR0 ; rm "$j" 2>/dev/null | ||
fi | fi | ||
- | done<avi.txt | + | rm $ERR1 $ERR2 |
+ | fi;fi | ||
+ | ## Je considère que le traitement est fait et je supprime le fichier de la liste pour pouvoir relancer sans difficulté. | ||
+ | sed -i '1d' $LIST | ||
+ | done<$LIST | ||
+ | date;wc -l $LIST;wc -l $SUIVI;wc -l $ERR0 | ||
</code> | </code> | ||