Debian-facile

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

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

#76 10-06-2019 14:54:17

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Bon il faut que tu essayes à nouveau pour me dire qu'elle est la ligne qui
merde avec la nouvelle version du script post #66 (je l'ai encore changé).
Ça serait pas :


COUNT_LPCM=$(lsdvd_x "$i" |grep 'lpcm' | awk '{print$8}' | \
                     awk '{x=x+NF}END{print x}')
 


qui pose problème ?

Hors ligne

#77 10-06-2019 14:57:42

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

@enicar

command introuvable ligne 153
Que la première bande audio "en" prise en compte

Hors ligne

#78 10-06-2019 14:59:21

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

enicar a écrit :

Bon il faut que tu essayes à nouveau pour me dire qu'elle est la ligne qui
merde avec la nouvelle version du script post #66 (je l'ai encore changé).
Ça serait pas :


COUNT_LPCM=$(lsdvd_x "$i" |grep 'lpcm' | awk '{print$8}' | \
                     awk '{x=x+NF}END{print x}')
 


qui pose problème ?



c'est ici, vu qu'il n'a pas de lcpm sur ce dvd, je suppose que c'est pour ça


read -r -a MAP_ID_STREAMS_LPCM
 

Dernière modification par golgot200 (10-06-2019 15:00:15)

Hors ligne

#79 10-06-2019 15:00:13

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Ça y est j'ai trouvé. Je remets cela en place de suite.

Hors ligne

#80 10-06-2019 15:08:27

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Bref, je fais un post propre pour cette version :


#!/bin/bash

PATH=$PATH:/sbin:/usr/sbin

#### Golgot200 ###############################################################################
# 22-03-2019
# Archlinux
# MPlayer SVN-r38101
# ffmpeg version n4.1.1
# lsdvd 0.17
# ogmtools v1.5 (dvdxchap)
# mkvtoolnix-cli 32.0.0-1 (mkvmerge)
# mencoder-38125-5
##############################################################################################

declare -a MPLAYER_IDENTIFY
declare -a LSDVD_X

menage () {
    rm -f "$FOLDER"/*.idx
    rm -f "$FOLDER"/*.sub
    rm -f "$FOLDER/$i-$TITLE+CHAPTERS.mkv"
}

mplayer_identify () {
    if [[  "${#MPLAYER_IDENTIFY[@]}" -eq 0 ]]; then
        mapfile MPLAYER_IDENTIFY < <(mplayer -vo null -ao null -frames 0 \
                -identify dvd://"$1" -dvd-device "$DEVICE"  2>/dev/null)
    fi
    echo -n "${MPLAYER_IDENTIFY[@]}"
}

awk_lang () {
    local ilang="$1"
    local olang="$2"
    awk "/language: $ilang/ && /format:/ \
        {printf \"-metadata:s:a:\"\$3\" language=$olang -metadata:s:a:\"\$3\" title=\"\$5\$6\" \"}"

}

awk_lpcm () {
    local ilang="$1"
    local olang="$2"
    awk "/language: $ilang/ && /format: lpcm/ \
        {printf \"-metadata:s:a:0 language=$olang -metadata:s:a:0 title=\"\$5\$6\" \"}"

}

lsdvd_x () {
    if [[ "${#LSDVD_X[@]}" -eq 0  ]]; then
        mapfile LSDVD_X < <(lsdvd -x "$DEVICE" -t "$1" 2> /dev/null)
    fi
    echo -n "${LSDVD_X[@]}"
}

## CONDITION : UN SEUL DVD-VIDÉO
COUNT_DEVICE=$(blkid /dev/sr* | \
            awk '{print $1}'  | \
            sed -e 's/://g'   | \
            awk '{x=x+NF}END{print x}')

if [[ "$COUNT_DEVICE" -eq "1" ]] ; then
    echo "Proceed..."
else
    echo "Aucun DVD-Vidéo ou 2 DVD-Vidéos/DVD-ROM ... dans différents lecteurs ?"
    exit 0
fi


DEVICE=$(blkid /dev/sr* | awk '{print $1}' | sed -e 's/://g')

## LABEL DU DVD-VIDÉO & NOMBRE TOTAL DE TITRES SUR CELUI-CI
TITLE=$(lsdvd "$DEVICE" | head -1 | awk '{print $3}')
TITLE_COUNT=$(lsdvd "$DEVICE" | grep -c ^'Title: ')


DIR=$(xdg-user-dir DESKTOP)
FOLDER="$DIR/$TITLE"


if [ ! -d "$FOLDER" ]; then
    echo "$FOLDER n'existe pas !"
    echo "Création Du Dossier $FOLDER"
    mkdir -p "$FOLDER"
fi



for (( i=1; i<=TITLE_COUNT; i++ ))
do

## METADATAS DIVERS [À COMPLETER AU CAS OÙ IL MANQUERAIT QUELQUES LANGUES]
## https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1
    FR=$(mplayer_identify "$i" | awk_lang fr fra)
    FR_LPCM=$(mplayer_identify "$i" | awk_lpcm fr fra)
    EN=$(mplayer_identify "$i" | awk_lang en en)
    EN_LPCM=$(mplayer_identify "$i" | awk_lpcm en en)
    DE=$(mplayer_identify "$i" | awk_lang de ger)
    DE_LPCM=$(mplayer_identify "$i" | awk_lpcm de ger)
    IT=$(mplayer_identify "$i" | awk_lang it ita)
    IT_LPCM=$(mplayer_identify "$i" | awk_lpcm it ita)
ES=$(mplayer_identify "$i" | awk '/language: es/ && /format:/  {printf "-metadata:s:a:"$3" language=spa -metadata:s:a:"$3" title="$5$6" "}')
ES_LPCM=$(mplayer_identify "$i" | awk '/language: es/ && /format: lpcm/  {printf "-metadata:s:a:0 language=spa -metadata:s:a:0 title="$5$6" "}')
NL=$(mplayer_identify "$i" | awk '/language: nl/ && /format:/  {printf "-metadata:s:a:"$3" language=nld -metadata:s:a:"$3" title="$5$6" "}')
NL_LPCM=$(mplayer_identify "$i" | awk '/language: nl/ && /format: lpcm/  {printf "-metadata:s:a:0 language=nld -metadata:s:a:0 title="$5$6" "}')
HE=$(mplayer_identify "$i" | awk '/language: he/ && /format:/  {printf "-metadata:s:a:"$3" language=heb -metadata:s:a:"$3" title="$5$6" "}')
HE_LPCM=$(mplayer_identify "$i" | awk '/language: he/ && /format: lpcm/  {printf "-metadata:s:a:0 language=heb -metadata:s:a:0 title="$5$6" "}')
HU=$(mplayer_identify "$i" | awk '/language: hu/ && /format:/  {printf "-metadata:s:a:"$3" language=hun -metadata:s:a:"$3" title="$5$6" "}')
HU_LPCM=$(mplayer_identify "$i" | awk '/language: hu/ && /format: lpcm/  {printf "-metadata:s:a:0 language=hun -metadata:s:a:0 title="$5$6" "}')
PL=$(mplayer_identify "$i" | awk '/language: pl/ && /format:/  {printf "-metadata:s:a:"$3" language=pol -metadata:s:a:"$3" title="$5$6" "}')
PL_LPCM=$(mplayer_identify "$i" | awk '/language: pl/ && /format: lpcm/  {printf "-metadata:s:a:0 language=pol -metadata:s:a:0 title="$5$6" "}')
CS=$(mplayer_identify "$i" | awk '/language: cs/ && /format:/  {printf "-metadata:s:a:"$3" language=cze -metadata:s:a:"$3" title="$5$6" "}')
CS_LPCM=$(mplayer_identify "$i" | awk '/language: cs/ && /format: lpcm/  {printf "-metadata:s:a:0 language=cze -metadata:s:a:0 title="$5$6" "}')
JA=$(mplayer_identify "$i" | awk '/language: ja/ && /format:/  {printf "-metadata:s:a:"$3" language=jpn -metadata:s:a:"$3" title="$5$6" "}')
JA_LPCM=$(mplayer_identify "$i" | awk '/language: ja/ && /format: lpcm/  {printf "-metadata:s:a:0 language=jpn -metadata:s:a:0 title="$5$6" "}')
SV=$(mplayer_identify "$i" | awk '/language: sv/ && /format:/  {printf "-metadata:s:a:"$3" language=swe -metadata:s:a:"$3" title="$5$6" "}')
SV_LPCM=$(mplayer_identify "$i" | awk '/language: sv/ && /format: lpcm/  {printf "-metadata:s:a:0 language=swe -metadata:s:a:0 title="$5$6" "}')
UNKNOWN=$(mplayer_identify "$i" | awk '/language: unknown/ && /format:/  {printf "-metadata:s:a:"$3" language=und -metadata:s:a:"$3" title="$5$6" "}')
UNKNOWN_LPCM=$(mplayer_identify "$i" | awk '/language: unknown/ && /format: lpcm/  {printf "-metadata:s:a:0 language=und -metadata:s:a:0 title="$5$6" "}')
EMPTY_LANG=$(mplayer_identify "$i" | awk '(/language:  aid:/) && /format:/ {printf "-metadata:s:a:"$3" language=und -metadata:s:a:"$3" title="$5$6" "}')
EMPTY_LANG_LPCM=$(mplayer_identify "$i" | awk '(/language:  aid:/) && /format: lpcm/ {printf "-metadata:s:a:0 language=und -metadata:s:a:0 title="$5$6" "}')


TAGS_ID_STREAMS="${FR}${EN}${DE}${IT}${ES}${NL}${HE}${HU}${PL}${CS}${JA}${SV}${UNKNOWN}${EMPTY_LANG}"
TAGS_ID_STREAMS_LPCM="${FR_LPCM}${EN_LPCM}${DE_LPCM}${IT_LPCM}${ES_LPCM}${NL_LPCM}${HE_LPCM}${HU_LPCM}${PL_LPCM}${CS_LPCM}${JA_LPCM}${SV_LPCM}${UNKNOWN_LPCM}${EMPTY_LANG_LPCM}"


## TITRES D'UNE DURÉE DE PLUS DE .... SECONDES [ ICI, 1200 SECONDES = 20 MINUTES]
LIMIT_TIME=$(mplayer_identify "$i" | grep ID_LENGTH | sed 's/.*=\([0-9]*\)/\1/' | sed "s/\\..*//")
B=1200

if [[ "$LIMIT_TIME" -gt "$B" ]]; then
    mplayer -identify -dvd-device "$DEVICE" dvd://"$i" \
        -nocache -dumpstream -dumpfile "$FOLDER/$i-$TITLE.vob"


## DISNEY A-R-C-C-O-S
#mplayer dvdnav://"$i" -dvd-device "$DEVICE" -dumpstream -dumpfile "$i-$TITLE.vob"



    COUNT_LPCM=$(lsdvd_x "$i" |grep 'lpcm' | awk '{print$8}' | \
                     awk '{x=x+NF}END{print x}')
    COUNT_AC3_DTS_MPEG1=$(lsdvd_x "$i" | grep 'ac3,\|dts,\|mpeg1,' | \
                              awk '{print$8}' |awk '{x=x+NF}END{print x}')
#    MAP_ID_STREAMS=( $(lsdvd_x "$i" |grep "Audio:" | \
#                         sed -n -e 's/.*\(0x\)/\1/p' |sed -e 's/c/1c/g' | \
#                         awk '/0x/{gsub (/^/,"-map i:")}1') )
    read -r -a MAP_ID_STREAMS < <(lsdvd_x "$i" |grep "Audio:" | \
                                  sed -n -e 's/.*\(0x\)/\1/p' |sed -e 's/c/1c/g' | \
                                  awk '/0x/{gsub (/^/,"-map i:")}1')
#    MAP_ID_STREAMS_LPCM=$(lsdvd_x "$i" |grep 'lpcm' | \
#                              sed -n -e 's/.*\(0x\)/\1/p' | sed -e 's/c/1c/g' | \
#                              awk '/0x/{gsub (/^/,"-map i:")}1')
    read -r -a MAP_ID_STREAMS_LPCM < <(lsdvd_x "$i" |grep 'lpcm' | \
                             sed -n -e 's/.*\(0x\)/\1/p' | sed -e 's/c/1c/g' | \
                             awk '/0x/{gsub (/^/,"-map i:")}1')

    SIDFR=$(lsdvd_x "$i" | grep "Subtitle:" | grep  "Language: fr" | \
                awk '{print$2}' | sed s'/.$//' | \
                awk 'BEGIN { RS="[^0-9]"; OFS=""; ORS=""; } {if(length($0)) {print ($0-1);}print RT}')
    COUNT_SID_FR=$(mplayer_identify "$i" | \
                       grep "subtitle ( sid ):" | grep "language: fr" | \
                       awk '{print$7}' | awk '{x=x+NF}END{print x}')

    RATIO=$(lsdvd_x "$i" | head -3 | grep "Aspect ratio:" | \
                awk '{print$11}' | sed '$ s/.$//' | sed 's/\//:/')


#CROP=$(ffmpeg -i "$FOLDER/$i-$TITLE.vob" -ss 60 -t 15 -t 1 -vf cropdetect -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1)


    INFO_AC3_DTS_MPEG1=$(lsdvd_x "$i" |awk '/ac3,/  {printf ""$4","}'  | \
                             sed -e 's/,*$//g')
    INFO_LPCM=$(lsdvd_x "$i" |awk '/ac3,/  {printf ""$4","}' | \
                    sed -e 's/,*$//g')



## ENCODAGE
## GPU
## FILMS
## AC3 & DTS & MPEG1
## SOUS-TITRAGE(S) VF
if [[ "$COUNT_LPCM" -eq "0" ]] && \
    [[ "$COUNT_AC3_DTS_MPEG1" -ge "1" ]] && \
    [[ "$COUNT_SID_FR" -ge "1" ]]
then
    ffmpeg -hwaccel auto -c:v mpeg2_cuvid -i "$FOLDER/$i-$TITLE.vob" \
        -map 0:v -metadata title="$TITLE" \
        -c:v h264_nvenc -preset slow -profile:v high -level 4.2 \
        -loglevel repeat+verbose  "${MAP_ID_STREAMS[@]}" \
        -c:a copy ${TAGS_ID_STREAMS} -movflags +faststart -qmin 18 -qmax 23 \
        -filter:v hue=b=0.1:s=0.7,hqdn3d=1.5:1.5:4:4,unsharp=luma_msize_x=5:luma_msize_y=5:luma_amount=0.5,noise=c0s=2:c1s=2:c2s=2:c0f=a+t \
        -y "$FOLDER/$i-$TITLE.mkv"


    rm -f "$FOLDER/$i-$TITLE.vob"
    dvdxchap -t  "$i" "$DEVICE" > "$FOLDER/$i-$TITLE-CHAPTERS.txt"
    mkvmerge "$FOLDER/$i-$TITLE.mkv" --chapters "$FOLDER/$i-$TITLE-CHAPTERS.txt"  \
              -o "$FOLDER/$i-$TITLE+CHAPTERS.mkv"

    rm -f "$FOLDER/$i-$TITLE-CHAPTERS.txt"
    rm -f "$FOLDER/$i-$TITLE.mkv"

    for n in $SIDFR; do
        mencoder -dvd-device "$DEVICE" "dvd://$i" \
            -nosound -ovc copy -force-avi-aspect "$RATIO"  \
            -o /dev/null -ifo "/run/media/$USER/$TITLE/VIDEO_TS/VTS_01_0.IFO"  \
            -sid "$n" -vobsubout "$FOLDER/$i-vobsubs-fr" -vobsuboutindex "$n"
    done
    mkvmerge "$FOLDER/$i-$TITLE+CHAPTERS.mkv" -a fre --default-language fr \
            "$FOLDER"/*.idx \
            -o "$FOLDER/$i-$TITLE-[Language:$INFO_AC3_DTS_MPEG1]+SUBVF.mkv"


    menage



## ENCODAGE
## GPU
## CONCERTS LIVE
## LPCM (ON GARDE QUE LA PISTE LPCM)
## PAS DE SOUS-TITRAGE

elif [[ "$COUNT_LPCM" -ge "1" ]] && \
     [[ "$COUNT_AC3_DTS_MPEG1" -ge "0" ]] && \
     [[ "$COUNT_SID_FR" -eq "0" ]]
then

    ffmpeg -hwaccel auto -c:v mpeg2_cuvid -i "$FOLDER/$i-$TITLE.vob" \
        -map 0:v -metadata title="$TITLE" -c:v h264_nvenc -preset hq \
        -profile:v high -level 4.2 -loglevel repeat+verbose  \
        "${MAP_ID_STREAMS_LPCM[@]}" -acodec pcm_s16be ${TAGS_ID_STREAMS_LPCM} \
        -movflags +faststart -qmin 18 -qmax 23 -y "$FOLDER/$i-$TITLE.mkv"

    rm -f "$FOLDER/$i-$TITLE.vob"
    dvdxchap -t  "$i" "$DEVICE" > "$FOLDER/$i-$TITLE-CHAPTERS.txt"
    mkvmerge "$FOLDER/$i-$TITLE.mkv" --chapters "$FOLDER/$i-$TITLE-CHAPTERS.txt" \
            -o "$FOLDER/$i-$TITLE-[Language:$INFO_LPCM].mkv"

    rm -f "$FOLDER/$i-$TITLE.mkv"
    rm -f "$FOLDER/$i-$TITLE-CHAPTERS.txt"



## ENCODAGE
## GPU
## CONCERTS LIVE
## LPCM (ON GARDE QUE LA PISTE LPCM)
## SOUS-TITRAGE(S) VF

elif [[ "$COUNT_LPCM" -ge "1" ]] && \
         [[ "$COUNT_AC3_DTS_MPEG1" -ge "0" ]] && \
         [[ "$COUNT_SID_FR" -ge "1" ]]
then
    ffmpeg -hwaccel cuvid -c:v mpeg2_cuvid -i "$FOLDER/$i-$TITLE.vob" \
           -map 0:v -metadata title="$TITLE" \
           -c:v h264_nvenc -preset hq -profile:v high -level 4.2 \
           -loglevel repeat+verbose  "${MAP_ID_STREAMS_LPCM[@]}" \
           -acodec pcm_s16be ${TAGS_ID_STREAMS_LPCM} -movflags +faststart \
           -qmin 18 -qmax 23 -y "$FOLDER/$i-$TITLE.mkv"

    rm -f "$FOLDER/$i-$TITLE.vob"

    dvdxchap -t  "$FOLDER/$i" "$DEVICE" > "$FOLDER/$i-$TITLE-CHAPTERS.txt"
    mkvmerge "$FOLDER/$i-$TITLE.mkv" --chapters "$FOLDER/$i-$TITLE-CHAPTERS.txt" \
            -o "$FOLDER/$i-$TITLE+CHAPTERS.mkv"

    rm -f "$FOLDER/$i-$TITLE-CHAPTERS.txt"
    rm -f "$FOLDER/$i-$TITLE.mkv"

    for n in $SIDFR; do
        mencoder -dvd-device "$DEVICE" dvd://"$i" \
                -nosound -ovc copy -force-avi-aspect "$RATIO" \
                -o /dev/null -ifo "/run/media/$USER/$TITLE/VIDEO_TS/VTS_01_0.IFO" \
                -sid "$n" -vobsubout "$FOLDER/$i-vobsubs-fr" -vobsuboutindex "$n"
    done

    mkvmerge "$FOLDER/$i-$TITLE+CHAPTERS.mkv" \
            -a fre --default-language fr "$FOLDER"/*.idx \
            -o "$FOLDER/$i-$TITLE-[Language:$INFO_LPCM]+SUBVF.mkv"


    menage

## LA PETITE MAISON DANS LA PRAIRIE
elif [[ "$COUNT_LPCM" -eq "0" ]] &&
         [[ "$COUNT_AC3_DTS_MPEG1" -ge "1" ]] &&
         [[ "$COUNT_SID_FR" -eq "0" ]]
then
    ffmpeg -hwaccel auto -c:v mpeg2_cuvid \
           -i "$FOLDER/$i-$TITLE.vob" -map 0:v -metadata title="$TITLE" \
           -c:v h264_nvenc -preset hq -profile:v high -level 4.2\
           -loglevel repeat+verbose  "${MAP_ID_STREAMS[@]}" \
           -c:a copy ${TAGS_ID_STREAMS} -movflags +faststart \
           -qmin 18 -qmax 23 -y "$FOLDER/$i-$TITLE.mkv"

    rm -f "$FOLDER/$i-$TITLE.vob"

    dvdxchap -t  "$i" "$DEVICE" > "$FOLDER/$i-$TITLE-CHAPTERS.txt"
    mkvmerge "$FOLDER/$i-$TITLE.mkv" \
             --chapters "$FOLDER/$i-$TITLE-CHAPTERS.txt" -o \
             "$FOLDER/$i-$TITLE-[Language:$INFO_AC3_DTS_MPEG1].mkv"

    rm -f "$FOLDER/$i-$TITLE-CHAPTERS.txt"
    rm -f "$FOLDER/$i-$TITLE.mkv"

fi
fi
done

 



Et voilà. Il avait juste un « sed - » qui était passé à trappe wink
Dans ce script, j'ai fait les modifications dont je parlais dans le
post #66 pour les fonctions mplayer_identify et lsdvd_x. Du coup le
script devrait être plus rapide. Et ça fera moins d'accès au lecteur
dvd.

À présent je me demande si on ne peut pas optimiser ce qui se passe
ici :


SIDFR=$(lsdvd_x "$i" | grep "Subtitle:" | grep  "Language: fr" | \
                awk '{print$2}' | sed s'/.$//' | \
                awk 'BEGIN { RS="[^0-9]"; OFS=""; ORS=""; } {if(length($0)) {print ($0-1);}print RT}')
COUNT_SID_FR=$(mplayer_identify "$i" | \
                       grep "subtitle ( sid ):" | grep "language: fr" | \
                       awk '{print$7}' | awk '{x=x+NF}END{print x}')
 


Parce que si COUNT_SID_FR, c'est juste le nombre de chaîne dans SIDFR
c'est facile à compter. Pour la variable SIDFR on pourrait aussi
utiliser un tableau…

Dernière modification par enicar (10-06-2019 16:15:10)

Hors ligne

#81 10-06-2019 15:09:54

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

@Debian Alain

Essaies déjà celui de mon post 16.
On verra ce qu'il faut changer éventuellement pour ffmpeg.

Dernière modification par golgot200 (10-06-2019 15:24:36)

Hors ligne

#82 10-06-2019 15:11:27

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

@enicar

je teste de suite le post 80 wink

Hors ligne

#83 10-06-2019 15:20:04

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

ça s'amméliore smile

mais on a que la premier stream audio qui est mappé "en dans ce dvd"

Hors ligne

#84 10-06-2019 15:23:48

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

golgot200 a écrit :

ça s'amméliore smile

mais on a que la premier stream audio qui est mappé "en dans ce dvd"




MESSAGES EFFACÉS



EDIT : JE ME SUIS TROMPÉ DE SCRIPT tongue

Dernière modification par golgot200 (10-06-2019 15:28:49)

Hors ligne

#85 10-06-2019 15:25:58

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

test de ton post #16 :

sudo ./test.sh



./test.sh: 18: ./test.sh: [[: not found
Aucun DVD-Vidéo ou 2 DVD-Vidéos/DVD-ROM ... dans différents lecteurs ?
 


bash ./test.sh



./test.sh: ligne 16: blkid : commande introuvable
Aucun DVD-Vidéo ou 2 DVD-Vidéos/DVD-ROM ... dans différents lecteurs ?
 


sudo bash ./test.sh



Proceed...
 

En ligne

#86 10-06-2019 15:30:16

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

@Debian Alain

Mets pas l'ext .sh

blkid

apt-get install util-linux



j'ajoutes ce programme sur le post

sudo ???

Dernière modification par golgot200 (10-06-2019 15:36:22)

Hors ligne

#87 10-06-2019 15:35:27

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

@Debian_alain normalement, il n'y a pas besoin de sudo.
C'est juste un problème de PATH. Je vais le changer au début du script.
Ça évitera que tu fasses des sudo, parce que qu'est-ce c'est dangereux de faire un
sudo pour résoudre un problème de PATH.

ADDENDUM : Tu peux aussi faire :


PATH=$PATH:/sbin:/usr/sbin ./script.bash
 


Ça modifiera le PATH, juste pour  script.bash.

Dernière modification par enicar (10-06-2019 15:39:13)

Hors ligne

#88 10-06-2019 15:37:47

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

 apt policy util-linux



util-linux:
  Installé : 2.33.1-0.1
  Candidat : 2.33.1-0.1
 Table de version :
 *** 2.33.1-0.1 500
        500 https://deb.debian.org/debian testing/main amd64 Packages
        100 https://deb.debian.org/debian unstable/main amd64 Packages
        100 /var/lib/dpkg/status
     2.29.2-1+deb9u1 100
        100 https://deb.debian.org/debian stable/main amd64 Packages
        100 https://deb.debian.org/debian stretch/main amd64 Packages
 



alain@Alain-PC:~/Téléchargements$ sudo bash ./test



Proceed...
 



alain@Alain-PC:~/Téléchargements$ ./test



./test: ligne 16: blkid : commande introuvable
Aucun DVD-Vidéo ou 2 DVD-Vidéos/DVD-ROM ... dans différents lecteurs ?
 

Dernière modification par Debian Alain (10-06-2019 15:41:10)

En ligne

#89 10-06-2019 15:40:01

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

@Debian Alain

il est toujours en :


Proceed...
 



ou il travail ? smile

Tu peux faire un ctrl + c pour passer une étape si tu veux.

Dernière modification par golgot200 (10-06-2019 15:40:53)

Hors ligne

#90 10-06-2019 15:41:08

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Debian Alain a écrit :


alain@Alain-PC:~/Téléchargements$ sudo bash ./test


Il ne faut pas utiliser sudo pour résoudre un problème de PATH car
ça peut être dangereux

Et comme ça, ça rentre ?

Ce script fonctionne parfaitement en utilisateur pas besoin des droits administrateur !

Dernière modification par enicar (10-06-2019 15:42:51)

Hors ligne

#91 10-06-2019 15:44:28

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

comment tu fais , alors , enicar  ?

En ligne

#92 10-06-2019 15:44:45

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

@enicar

plus rouge, t'as pas ? big_smile

Hors ligne

#93 10-06-2019 15:46:08

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

@golgot200 alors, il marche le script du post #80 ?

golgot200 a écrit :


Par contre sur deux de tes fonctions, j'ai vraiment du mal. Mais je préfère attendre avant de te demander une explication.


Qu'est-ce qui te pose question dans mes 2 fonctions ?

Hors ligne

#94 10-06-2019 15:48:14

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

golgot200 a écrit :

plus rouge, t'as pas ? big_smile


C'est la combinaison de color=red avec une balise de gras (b) wink

Hors ligne

#95 10-06-2019 15:49:48

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Bon j'ai mis à jour PATH dans le script du post #80.

Hors ligne

#96 10-06-2019 15:50:30

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Debian Alain a écrit :

comment tu fais , alors , enicar  ?


confère le post #87

Hors ligne

#97 10-06-2019 15:51:04

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Le DVD à 7 streams audio :


audio stream: 0 format: ac3 (stereo) language: en aid: 128.

ID_AUDIO_ID=128
ID_AID_128_LANG=en
audio stream: 1 format: ac3 (stereo) language: fr aid: 129.

ID_AUDIO_ID=129
ID_AID_129_LANG=fr
audio stream: 2 format: ac3 (stereo) language: de aid: 130.

ID_AUDIO_ID=130
ID_AID_130_LANG=de
audio stream: 3 format: ac3 (stereo) language: it aid: 131.

ID_AUDIO_ID=131
ID_AID_131_LANG=it
audio stream: 4 format: ac3 (stereo) language: es aid: 132.

ID_AUDIO_ID=132
ID_AID_132_LANG=es
audio stream: 5 format: ac3 (stereo) language: en aid: 133.

ID_AUDIO_ID=133
ID_AID_133_LANG=en
audio stream: 6 format: ac3 (unknown) language: en aid: 134.

ID_AUDIO_ID=134
ID_AID_134_LANG=en
number of audio channels on disk: 7.

 





ffmpeg encode que le premier stream :


Output #0, matroska, to '/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv':
  Metadata:
    title           : SLEEPLESS_IN_SEATTLE
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (h264_nvenc) (High), 1 reference frame (H264 / 0x34363248), yuv420p(left), 720x576 [SAR 64:45 DAR 16:9], q=18-23, 2000 kb/s, 25 fps, 1k tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.35.100 h264_nvenc
    Side data:
      cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 4000000 vbv_delay: -1
    Stream #0:1(en): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : ac3(stereo)
frame=  356 fps=105 q=18.0 Lsize=    1241kB time=00:00:14.33 bitrate= 709.0kbits/s speed=4.24x    
video:898kB audio:337kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.517003%

 

Hors ligne

#98 10-06-2019 15:52:31

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

merci , je vais attendre . suis pas pressé .

En ligne

#99 10-06-2019 15:53:53

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

golgot200 a écrit :

ffmpeg encode que le premier stream :


Et c'est un problème ?

Hors ligne

#100 10-06-2019 15:54:53

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

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

enicar a écrit :


Qu'est-ce qui te pose question dans mes 2 fonctions ?




exemple :


awk_lang () {
    local ilang="$1"
    local olang="$2"
    awk "/language: $ilang/ && /format:/ \
       {printf \"-metadata:s:a:\"\$3\" language=$olang -metadata:s:a:\"\$3\" title=\"\$5\$6\" \"}"

}
 



c'est ça :

 
local ilang="$1"
local olang="$2"
 

Hors ligne

Pied de page des forums