Debian-facile

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

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

#401 26-06-2019 12:09:34

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 :

sur le 347, on vire filters et tout ce qui est commentés ? ( mis à part crop et dvdnav )


Dis moi exactement ce que tu veux. On peut en effet supprimer les commandes
en commentaire que j'ai laissé à titre informatif.
Tu veux garder la ligne mise en commentaire pour crop, et les deux lignes avec
le « mplayer dvdnav:… ».

Pour filter, tu veux que je vire la ligne avec le filtre dans la commande ffmpeg, c'est ça ?

Hors ligne

#402 26-06-2019 12:19: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 : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Oui, c'est tout à fait ça.

Dernière modification par golgot200 (26-06-2019 12:19:30)

Hors ligne

#403 26-06-2019 12:19:41

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)

Voilà ce que ça donne :


#!/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
##############################################################################################
# Modifications par enicar 09-26/06/2019
##############################################################################################

declare -a MPLAYER_IDENTIFY
declare -a LSDVD_X

mplayer_identify () {
    if [[  "${#MPLAYER_IDENTIFY[@]}" -eq 0 ]]; then
        mapfile MPLAYER_IDENTIFY < \
                <(mplayer -noconfig all -nocache -vo null -ao null -frames 0 \
                          -identify -dvd-device "$DEVICE" dvd://"$1" 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[@]}"
}

merge_chapters () {
    local output="$2"
    dvdxchap -t  "$1" "$DEVICE" > "$FOLDER/$1-$TITLE-CHAPTERS.txt"
    mkvmerge "$FOLDER/$1-$TITLE.mkv" --chapters "$FOLDER/$1-$TITLE-CHAPTERS.txt" \
             -o "$output"

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

encode_sidfr_and_merge () {
    local output="$2"
    for n in $SIDFR; do
        mencoder -dvd-device "$DEVICE" "dvd://$1" \
                 -nosound -ovc copy -force-avi-aspect "$RATIO" \
                 -o /dev/null -ifo "$MOUNT_POINT/VIDEO_TS/VTS_01_0.IFO" \
                 -sid "$n" -vobsubout "$FOLDER/$i-vobsubs-fr" -vobsuboutindex "$n"
    done

    mkvmerge "$FOLDER/$1-$TITLE+CHAPTERS.mkv" -a fre --default-language fr \
             "$FOLDER"/*.idx -o "$output"
}

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


## CONDITION : UN SEUL DVD-VIDÉO
mapfile -t  BLKID < <(blkid /dev/sr* |sed -E 's/^([^:]+): .*/\1/')

if [[ "${#BLKID[@]}" -eq  "0" ]] ; then
    echo "Aucun DVD trouvé: abandon"
    exit 0
fi

idx=0
for dev in "${BLKID[@]}"; do
    mnt=$(mount |sed -n -E "s/^${dev//\//\\\/} on (.*) type .*\$/\\1/p")
    [[ -z "$mnt" ]] && continue
    if [[ -f "$mnt/VIDEO_TS/VIDEO_TS.IFO" ]]; then
        DEVICES[$idx]="$dev"
        MOUNT_POINTS[$idx]="$mnt"
        idx=$((idx+1))
    fi
done

if [[ "${#DEVICES[@]}" -eq 0 ]]; then
    echo "Aucun dvd vidéo monté : Abandon"
    exit 0
elif [[ "${#DEVICES[@]}" -gt 1 ]];  then
    echo "Il y a plus d'un dvd video détecté : Abandon"
    exit 0
fi

DEVICE=${DEVICES[0]}
MOUNT_POINT=${MOUNT_POINTS[0]}

## LABEL DU DVD-VIDÉO & NOMBRE TOTAL DE TITRES SUR CELUI-CI
idx=0
TITLE_COUNT=0
regexp='^Title: '
while read -r line; do
    idx=$((idx+1))
    if [[ "$idx" -eq 1 ]]; then
        TITLE=${line#*: }
    elif [[ "$line" =~ $regexp ]]; then
        TITLE_COUNT=$((TITLE_COUNT+1))
    fi
done < <(lsdvd "$DEVICE" 2>/dev/null)

unset regexp dev mnt idx BLKID DEVICES MOUNT_POINTS

if [[ -z "$TITLE" ]]; then
    echo "Pas de dvd vidéo trouvé : abandon"
    exit 0
fi

echo "Proceed..."

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
    MPLAYER_IDENTIFY=()
    LSDVD_X=()
    ## TITRES D'UNE DURÉE DE PLUS DE .... SECONDES [ ICI, 1200 SECONDES = 20 MINUTES]
    LENGTH=$(mplayer_identify "$i" |sed -E -n 's/^.*ID_LENGTH=([0-9]+).*$/\1/p')
    LIMIT=1200
    [[ "$LENGTH" -le "$LIMIT" ]] && continue

## 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_lang es spa)
    ES_LPCM=$(mplayer_identify "$i" |awk_lpcm es spa)
    NL=$(mplayer_identify "$i" |awk_lang nl nld)
    NL_LPCM=$(mplayer_identify "$i" |awk_lpcm nl nld)
    HE=$(mplayer_identify "$i" |awk_lang he heb)
    HE_LPCM=$(mplayer_identify "$i" |awk_lpcm he heb)
    HU=$(mplayer_identify "$i" |awk_lang hu hun)
    HU_LPCM=$(mplayer_identify "$i" |awk_lpcm hu hun)
    PL=$(mplayer_identify "$i" |awk_lang pl pol)
    PL_LPCM=$(mplayer_identify "$i" |awk_lpcm pl pol)
    CS=$(mplayer_identify "$i" |awk_lang cs cze)
    CS_LPCM=$(mplayer_identify "$i" |awk_lpcm cs cze)
    JA=$(mplayer_identify "$i" |awk_lang ja jpn)
    JA_LPCM=$(mplayer_identify "$i" |awk_lpcm ja jpn)
    SV=$(mplayer_identify "$i" |awk_lang sv swe)
    SV_LPCM=$(mplayer_identify "$i" |awk_lpcm sv swe)
    UNKNOWN=$(mplayer_identify "$i" |awk_lang unknown und)
    UNKNOWN_LPCM=$(mplayer_identify "$i" |awk_lpcm unknown und)
    EMPTY_LANG=$(mplayer_identify "$i" |awk_lang ' aid:' und)
    EMPTY_LANG_LPCM=$(mplayer_identify "$i" |awk_lpcm ' aid:' und)

    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}"

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

    COUNT_LPCM=$(lsdvd_x "$i" |grep -c 'lpcm')
    COUNT_AC3_DTS_MPEG1=$(lsdvd_x "$i" | grep -c -E 'ac3,|dts,|mpeg1,')

    MAP_ID_STREAMS=$(lsdvd_x "$i" |sed -E -n '/Audio:/s/.*(0x)/\1/p' | \
                         awk '{ gsub(/c/, "1c") }
                              /0x/ {gsub (/^/,"-map i:")}
                              { print $0 }'
)

    MAP_ID_STREAMS_LPCM=$(lsdvd_x "$i" | sed -n -E '/lpcm/s/.*(0x)/\1/p' | \
                              awk '{ gsub(/c/, "1c") }
                                   /0x/ { gsub (/^/,"-map i:")}
                                   { print $0 }'
)


    SIDFR=$(lsdvd_x "$i" |awk '/Subtitle:/ && /Language: fr/ { sub(/,$/ ,"", $2);
                                     if ($2 ~ /^[0-9]+$/) print (--$2) }'
)

    COUNT_SID_FR=$(echo "$SIDFR" |wc -w)

    RATIO=$(lsdvd_x "$i" | \
                awk 'NR <= 3 && /Aspect ratio:/ {sub(/\//, ":", $11); x = x " " $11}
                          END { sub(/.$/, "", x); print x}'
)

    INFO_AC3_DTS_MPEG1=$(lsdvd_x "$i" | \
                awk '/ac3,|dts,|mpeg1,/  { x = x $4 ","}
                    END { sub(/,*$/, "", x); print x }'
)

    INFO_LPCM=$(lsdvd_x "$i" | awk '/lpcm/ { print $4 }')

#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)

    mplayer -noconfig all -nocache -dvd-device "$DEVICE" dvd://"$i" \
            -dumpstream -dumpfile "$FOLDER/$i-$TITLE.vob"

    ## 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 \
            -y "$FOLDER/$i-$TITLE.mkv"

        rm -f "$FOLDER/$i-$TITLE.vob"
        merge_chapters "$i" "$FOLDER/$i-$TITLE+CHAPTERS.mkv"
        encode_sidfr_and_merge "$i" "$FOLDER/$i-$TITLE-[Language:$INFO_AC3_DTS_MPEG1]+SUBVF.mkv"
        menage "$i"

    ## 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"
        merge_chapters "$i" "$FOLDER/$i-$TITLE-[Language:$INFO_LPCM].mkv"

    ## 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"
        merge_chapters "$i" "$FOLDER/$i-$TITLE+CHAPTERS.mkv"
        encode_sidfr_and_merge "$i" "$FOLDER/$i-$TITLE-[Language:$INFO_LPCM]+SUBVF.mkv"
        menage "$i"

    ## 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"
        merge_chapters "$i" "$FOLDER/$i-$TITLE-[Language:$INFO_AC3_DTS_MPEG1].mkv"
    fi
done
 



J'espère n'avoir pas fait d'erreurs…

Hors ligne

#404 26-06-2019 12:23:18

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-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 :

Voilà ce que ça donne ...

J'espère n'avoir pas fait d'erreurs…



T'inquiètes pas, je teste tout ça ... wink

Dernière modification par golgot200 (26-06-2019 12:23:34)

Hors ligne

#405 26-06-2019 13:21:00

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

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

Sur 8 DVDs avec un peu toutes les configurations. (sauf le EMPTY_LANG que je n'ai pas sous la main)

J'ai passé LIMIT à 30 secondes.

Un sans faute wink


├── [477M]  ABBA_IN_CONCERT
│   ├── [134M]  1-ABBA_IN_CONCERT-[Language:en,en,en]+SUBVF.mkv
│   ├── [ 39M]  2-ABBA_IN_CONCERT-[Language:xx].mkv
│   ├── [ 70M]  3-ABBA_IN_CONCERT-[Language:en,en,en].mkv
│   ├── [ 39M]  4-ABBA_IN_CONCERT-[Language:en,en,en].mkv
│   ├── [ 29M]  5-ABBA_IN_CONCERT-[Language:en,en,en].mkv
│   ├── [ 62M]  6-ABBA_IN_CONCERT-[Language:sv]+SUBVF.mkv
│   ├── [ 58M]  7-ABBA_IN_CONCERT-[Language:sv]+SUBVF.mkv
│   ├── [7,2M]  8-ABBA_IN_CONCERT-[Language:xx].mkv
│   └── [ 38M]  9-ABBA_IN_CONCERT-[Language:xx].mkv
├── [213M]  CLIFFENGER
│   └── [213M]  2-CLIFFENGER-[Language:fr,en,en]+SUBVF.mkv
├── [473M]  DE_PALMAS
│   ├── [125M]  1-DE_PALMAS-[Language:xx].mkv
│   ├── [103M]  2-DE_PALMAS-[Language:xx].mkv
│   ├── [185M]  3-DE_PALMAS-[Language:xx].mkv
│   └── [ 60M]  4-DE_PALMAS-[Language:xx].mkv
├── [ 63M]  DVD_VIDEO
│   └── [ 63M]  1-DVD_VIDEO-[Language:en,fr]+SUBVF.mkv
├── [172M]  JOYEUX_NOEL
│   ├── [8,7M]  2-JOYEUX_NOEL-[Language:xx].mkv
│   ├── [ 20M]  3-JOYEUX_NOEL-[Language:fr].mkv
│   ├── [ 32M]  4-JOYEUX_NOEL-[Language:fr].mkv
│   └── [112M]  5-JOYEUX_NOEL-[Language:xx,xx,xx,fr,fr,fr]+SUBVF.mkv
├── [ 68M]  LE_CHACAL
│   └── [ 68M]  1-LE_CHACAL-[Language:fr,en]+SUBVF.mkv
├── [1,0G]  PMPS1D7_PAL
│   ├── [ 22M]  10-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 13M]  11-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 41M]  12-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 72M]  13-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 33M]  14-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 16M]  15-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 25M]  16-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 34M]  17-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 27M]  18-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 26M]  19-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 40M]  1-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 26M]  20-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 74M]  21-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 36M]  22-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 35M]  23-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 14M]  24-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 80M]  25-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [208M]  3-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 38M]  4-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 22M]  5-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 20M]  6-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 39M]  7-PMPS1D7_PAL-[Language:xx].mkv
│   ├── [ 77M]  8-PMPS1D7_PAL-[Language:xx].mkv
│   └── [ 23M]  9-PMPS1D7_PAL-[Language:xx].mkv
└── [131M]  SLEEPLESS_IN_SEATTLE
    ├── [ 97M]  1-SLEEPLESS_IN_SEATTLE-[Language:en,fr,de,it,es,en,en]+SUBVF.mkv
    ├── [ 16M]  2-SLEEPLESS_IN_SEATTLE-[Language:en]+SUBVF.mkv
    └── [ 18M]  3-SLEEPLESS_IN_SEATTLE-[Language:en]+SUBVF.mkv

 2.6G used in 8 directories, 47 files
 






#!/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
##############################################################################################
# Modifications par enicar 09-26/06/2019
##############################################################################################

declare -a MPLAYER_IDENTIFY
declare -a LSDVD_X

mplayer_identify () {
    if [[  "${#MPLAYER_IDENTIFY[@]}" -eq 0 ]]; then
        mapfile MPLAYER_IDENTIFY < \
                <(mplayer -noconfig all -nocache -vo null -ao null -frames 0 \
                          -identify -dvd-device "$DEVICE" dvd://"$1" 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[@]}"
}

merge_chapters () {
    local output="$2"
    dvdxchap -t  "$1" "$DEVICE" > "$FOLDER/$1-$TITLE-CHAPTERS.txt"
    mkvmerge "$FOLDER/$1-$TITLE.mkv" --chapters "$FOLDER/$1-$TITLE-CHAPTERS.txt" \
             -o "$output"

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

encode_sidfr_and_merge () {
    local output="$2"
    for n in $SIDFR; do
        mencoder -dvd-device "$DEVICE" "dvd://$1" \
                 -nosound -ovc copy -force-avi-aspect "$RATIO" \
                 -o /dev/null -ifo "$MOUNT_POINT/VIDEO_TS/VTS_01_0.IFO" \
                 -sid "$n" -vobsubout "$FOLDER/$i-vobsubs-fr" -vobsuboutindex "$n"
    done

    mkvmerge "$FOLDER/$1-$TITLE+CHAPTERS.mkv" -a fre --default-language fr \
             "$FOLDER"/*.idx -o "$output"
}

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


## CONDITION : UN SEUL DVD-VIDÉO
mapfile -t  BLKID < <(blkid /dev/sr* |sed -E 's/^([^:]+): .*/\1/')

if [[ "${#BLKID[@]}" -eq  "0" ]] ; then
    echo "Aucun DVD trouvé: abandon"
    exit 0
fi

idx=0
for dev in "${BLKID[@]}"; do
    mnt=$(mount |sed -n -E "s/^${dev//\//\\\/} on (.*) type .*\$/\\1/p")
    [[ -z "$mnt" ]] && continue
    if [[ -f "$mnt/VIDEO_TS/VIDEO_TS.IFO" ]]; then
        DEVICES[$idx]="$dev"
        MOUNT_POINTS[$idx]="$mnt"
        idx=$((idx+1))
    fi
done

if [[ "${#DEVICES[@]}" -eq 0 ]]; then
    echo "Aucun dvd vidéo monté : Abandon"
    exit 0
elif [[ "${#DEVICES[@]}" -gt 1 ]];  then
    echo "Il y a plus d'un dvd video détecté : Abandon"
    exit 0
fi

DEVICE=${DEVICES[0]}
MOUNT_POINT=${MOUNT_POINTS[0]}

## LABEL DU DVD-VIDÉO & NOMBRE TOTAL DE TITRES SUR CELUI-CI
idx=0
TITLE_COUNT=0
regexp='^Title: '
while read -r line; do
    idx=$((idx+1))
    if [[ "$idx" -eq 1 ]]; then
        TITLE=${line#*: }
    elif [[ "$line" =~ $regexp ]]; then
        TITLE_COUNT=$((TITLE_COUNT+1))
    fi
done < <(lsdvd "$DEVICE" 2>/dev/null)

unset regexp dev mnt idx BLKID DEVICES MOUNT_POINTS

if [[ -z "$TITLE" ]]; then
    echo "Pas de dvd vidéo trouvé : abandon"
    exit 0
fi

echo "Proceed..."

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
    MPLAYER_IDENTIFY=()
    LSDVD_X=()
    ## TITRES D'UNE DURÉE DE PLUS DE .... SECONDES [ ICI, 1200 SECONDES = 20 MINUTES]
    LENGTH=$(mplayer_identify "$i" |sed -E -n 's/^.*ID_LENGTH=([0-9]+).*$/\1/p')
    LIMIT=30
    [[ "$LENGTH" -le "$LIMIT" ]] && continue

## 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_lang es spa)
    ES_LPCM=$(mplayer_identify "$i" |awk_lpcm es spa)
    NL=$(mplayer_identify "$i" |awk_lang nl nld)
    NL_LPCM=$(mplayer_identify "$i" |awk_lpcm nl nld)
    HE=$(mplayer_identify "$i" |awk_lang he heb)
    HE_LPCM=$(mplayer_identify "$i" |awk_lpcm he heb)
    HU=$(mplayer_identify "$i" |awk_lang hu hun)
    HU_LPCM=$(mplayer_identify "$i" |awk_lpcm hu hun)
    PL=$(mplayer_identify "$i" |awk_lang pl pol)
    PL_LPCM=$(mplayer_identify "$i" |awk_lpcm pl pol)
    CS=$(mplayer_identify "$i" |awk_lang cs cze)
    CS_LPCM=$(mplayer_identify "$i" |awk_lpcm cs cze)
    JA=$(mplayer_identify "$i" |awk_lang ja jpn)
    JA_LPCM=$(mplayer_identify "$i" |awk_lpcm ja jpn)
    SV=$(mplayer_identify "$i" |awk_lang sv swe)
    SV_LPCM=$(mplayer_identify "$i" |awk_lpcm sv swe)
    UNKNOWN=$(mplayer_identify "$i" |awk_lang unknown und)
    UNKNOWN_LPCM=$(mplayer_identify "$i" |awk_lpcm unknown und)
    EMPTY_LANG=$(mplayer_identify "$i" |awk_lang ' aid:' und)
    EMPTY_LANG_LPCM=$(mplayer_identify "$i" |awk_lpcm ' aid:' und)

    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}"

    COUNT_LPCM=$(lsdvd_x "$i" |grep -c 'lpcm')
    COUNT_AC3_DTS_MPEG1=$(lsdvd_x "$i" | grep -c -E 'ac3,|dts,|mpeg1,')

    MAP_ID_STREAMS=$(lsdvd_x "$i" |sed -E -n '/Audio:/s/.*(0x)/\1/p' | \
                         awk '{ gsub(/c/, "1c") }
                              /0x/ {gsub (/^/,"-map i:")}
                              { print $0 }'
)

    MAP_ID_STREAMS_LPCM=$(lsdvd_x "$i" | sed -n -E '/lpcm/s/.*(0x)/\1/p' | \
                              awk '{ gsub(/c/, "1c") }
                                   /0x/ { gsub (/^/,"-map i:")}
                                   { print $0 }'
)


    SIDFR=$(lsdvd_x "$i" |awk '/Subtitle:/ && /Language: fr/ { sub(/,$/ ,"", $2);
                                     if ($2 ~ /^[0-9]+$/) print (--$2) }'
)

    COUNT_SID_FR=$(echo "$SIDFR" |wc -w)

    RATIO=$(lsdvd_x "$i" | \
                awk 'NR <= 3 && /Aspect ratio:/ {sub(/\//, ":", $11); x = x " " $11}
                          END { sub(/.$/, "", x); print x}'
)

    INFO_AC3_DTS_MPEG1=$(lsdvd_x "$i" | \
                awk '/ac3,|dts,|mpeg1,/  { x = x $4 ","}
                    END { sub(/,*$/, "", x); print x }'
)

    INFO_LPCM=$(lsdvd_x "$i" | awk '/lpcm/ { print $4 }')

#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)

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

    mplayer -noconfig all -nocache -dvd-device "$DEVICE" dvd://"$i" \
            -dumpstream -dumpfile "$FOLDER/$i-$TITLE.vob"

    ## 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 \
            -y "$FOLDER/$i-$TITLE.mkv"

        rm -f "$FOLDER/$i-$TITLE.vob"
        merge_chapters "$i" "$FOLDER/$i-$TITLE+CHAPTERS.mkv"
        encode_sidfr_and_merge "$i" "$FOLDER/$i-$TITLE-[Language:$INFO_AC3_DTS_MPEG1]+SUBVF.mkv"
        menage "$i"

    ## 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"
        merge_chapters "$i" "$FOLDER/$i-$TITLE-[Language:$INFO_LPCM].mkv"

    ## 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"
        merge_chapters "$i" "$FOLDER/$i-$TITLE+CHAPTERS.mkv"
        encode_sidfr_and_merge "$i" "$FOLDER/$i-$TITLE-[Language:$INFO_LPCM]+SUBVF.mkv"
        menage "$i"

    ## 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"
        merge_chapters "$i" "$FOLDER/$i-$TITLE-[Language:$INFO_AC3_DTS_MPEG1].mkv"
    fi
done
 

Dernière modification par golgot200 (26-06-2019 13:25:45)

Hors ligne

#406 26-06-2019 14:19:00

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)

C'est quoi la différence entre celui du #403 et celui du #405 ?

Hors ligne

#407 26-06-2019 15:18:06

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-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 :

C'est quoi la différence entre celui du #403 et celui du #405 ?



Rien, j'ai juste mis quelques lignes comme les autres :

| awk_lang



comme :

|awk_lang




Passé ## DISNEY A-R-C-C-O-S au niveau du dump

et laissé LIMIT à 30 secondes pour que le script encode tout les titres.

C'est tout smile

Hors ligne

#408 26-06-2019 15:37:47

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

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

J'aimerai t'exposer un truc qui manque dans ce script. J'en ai parlé vaguement sur ce post et je pense que pour un script qui encode tout les titres, ça serait un plus. C'est l'entrelacement.
Sur le titre principal, il n'y a pas besoin mais sur les titres du genre "bonus etc ...", ça serait pas mal. Il y aurait juste à faire une détection sur le VOB avec ffmpeg et son filtre idet sur le dump.

J'ai trouvé deux liens sur le net qui simplifieraient le truc. Grace aux informations récoltées par cette commande, on créerait une condition pour que la commande d'encodage parte soit sur un simple "ffmpeg -i ...." ou soit sur "ffmpeg -i .... -filter:v "yadif".."

Je dump deux titres "vob" sur un même dvd pour te faire voir les infos .....

Dernière modification par golgot200 (26-06-2019 15:38:30)

Hors ligne

#409 26-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)

C'est marrant pour les commandes


| awk_lang
 


J'ai fait la même chose sur ma version du script qui utilise le cpu uniquement.
D'ailleurs sur ma version j'avais déjà viré toutes commandes en commentaires.

Hors ligne

#410 26-06-2019 15:57:34

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

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

smile

Sur mon post 408, je sais pas si tu vois le truc mais voilà ce que j'obtiens sur le film.vob et deux vob en bonus :

http://www.aktau.be/2013/09/22/detectin … th-ffmpeg/

ffmpeg -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null -i "FILM.vob" 2>&1 | egrep 'idet|Input'



[Parsed_idet_0 @ 0x5620651532c0] Repeated Fields: Neither:   101 Top:     0 Bottom:     0
[Parsed_idet_0 @ 0x5620651532c0] Single frame detection: TFF:     0 BFF:     0 Progressive:     0 Undetermined:   101
[Parsed_idet_0 @ 0x5620651532c0] Multi frame detection: TFF:     0 BFF:     0 Progressive:     0 Undetermined:   101
 




ffmpeg -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null -i "BONUS.vob" 2>&1 | egrep 'idet|Input'



[Parsed_idet_0 @ 0x55e13c03ba40] Repeated Fields: Neither:    99 Top:     1 Bottom:     1
[Parsed_idet_0 @ 0x55e13c03ba40] Single frame detection: TFF:    52 BFF:     8 Progressive:     5 Undetermined:    36
[Parsed_idet_0 @ 0x55e13c03ba40] Multi frame detection: TFF:    55 BFF:    25 Progressive:    21 Undetermined:     0
 



ffmpeg -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null -i "BONUS_2.vob" 2>&1 | egrep 'idet|Input'



[Parsed_idet_0 @ 0x56275b151a80] Repeated Fields: Neither:   101 Top:     0 Bottom:     0
[Parsed_idet_0 @ 0x56275b151a80] Single frame detection: TFF:    74 BFF:     0 Progressive:     0 Undetermined:    27
[Parsed_idet_0 @ 0x56275b151a80] Multi frame detection: TFF:    78 BFF:     0 Progressive:     0 Undetermined:    23
 



Si TFF ou BFF n'est pas à 0, la vidéo est entrelacée, utilisé ffmpeg yadif.
Je ne sais pas si c'est bien clair  smile

Dernière modification par golgot200 (26-06-2019 15:59:22)

Hors ligne

#411 26-06-2019 16:26:51

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 :

Si TFF ou BFF n'est pas à 0, la vidéo est entrelacée,


Je n'ai pas l'impression que ce soit aussi simple…
Il y a aussi le champ progressive qui rentre en jeu.

Hors ligne

#412 26-06-2019 18:28:21

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-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 :

golgot200 a écrit :

Si TFF ou BFF n'est pas à 0, la vidéo est entrelacée,


Je n'ai pas l'impression que ce soit aussi simple…
Il y a aussi le champ progressive qui rentre en jeu.



Je me suis fait la même reflexion ...

Hors ligne

#413 26-06-2019 20:52:32

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)

Tu peux regarder avec ce script simple qui extrait les données, je
l'ai appelé « extract.sh » :


#! /bin/sh
awk '/TFF/ {print "TFF:", $8, "BFF:", $10,  "Progressive:", $12, "Undetermined:", $14}'
 


Il suffit de faire


#PSEUDO CODE
ffmpeg|extract.sh
 


La première ligne affiché par ffmpeg est aussi intéressantes pour
les « Repeated Fields ». Je n'ai rien fait pour afficher ces données
mais j'ai l'impression quelles sont importantes.
Je n'ai pas compris grand chose. Je ne vois pas comment détecter
quoi que ce soit, car je ne sais pas ce qu'il faut détecter.

Hors ligne

#414 27-06-2019 13:12:24

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

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

Bonjour enicar

Je voyais un truc dans ce style :



INTERLACED_SINGLE=$(ffmpeg -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null -i "$FOLDER/$i-$TITLE.vob" 2>&1 | awk '/Single frame detection:/ {print $8$10}')
INTERLACED_MULTI=$(ffmpeg -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null -i "$FOLDER/$i-$TITLE.vob" 2>&1 | awk '/Multi frame detection:/ {print $8$10}')

 if [[ "$INTERLACED_SINGLE" -eq "00" ]] && [[ "$INTERLACED_MULTI" -eq "00" ]]
 then
 echo "OK NO_INTERLACED"
 else
 echo "INTERLACED"
 fi
 



il faut que je vois pour Progressive, si c'est bien utile de le prendre en considération.

Hors ligne

#415 27-06-2019 13:16:51

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)

T'es sûr de ton coup ? Parce que je peux toujours te proposer un truc, mais
si la méthode est fausse, ça ne marchera jamais.

Hors ligne

#416 27-06-2019 13:23: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 : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

enicar a écrit :

T'es sûr de ton coup ? Parce que je peux toujours te proposer un truc, mais
si la méthode est fausse, ça ne marchera jamais.




Quasi sûr, j'ai testé sur plusieurs vob interlaced ou non interlaced. La seule question que je me pose : est-ce bien utile ?
car si on regarde d'après ce lien :

https://ffmpeg.org/ffmpeg-filters.html#yadif

il y aurait une auto détection hmm
ça réglerait le problème. J'ai testé, mais qui me dit que ça ne va pas désentrelacer un vob qui n'en a pas besoin. En tout cas effectivement le bonus.vob n'a plus l'entrelacement.

Dernière modification par golgot200 (27-06-2019 13:24:03)

Hors ligne

#417 27-06-2019 13:33:32

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)

Ce qui est automatique c'est la détection de parité (ça n'a aucun sens pour moi
ceci dit). Il n'est pas dit que c'est le fait que la vidéo est entrelacé ou pas qui est
automatique.
Le réglage intéressant serait « deint:interlaced » mais cela veut dire que le décodeur
est capable de fournir cette information.
Voilà ce que j'ai vaguement compris.

Hors ligne

#418 27-06-2019 14:44:02

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)

Je te propose cela à la place de ton « gribouillis »  du post #414


mapfile -t INTERLACED < \
        <(ffmpeg -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null \
                 -i "$FOLDER/$i-$TITLE.vob" | \
              awk '/(Multi|Single) frame detection: / {print $8$10}' )

if [[ "${INTERLACED[0]}" -eq "0" ]] && [[ "${INTERLACED[1]}" -eq "0" ]]
then
    echo "OK NO_INTERLACED"
else
    echo "INTERLACED"
fi
 


Voilà, je me suis arrangé pour ne faire la détection qu'une seule
fois. Et remplacé le "00" par "0" car avec -eq c'est une comparaison
arithmétique et de ce point de vue 00 == 0.

PS: excuse pour le mot gribouillis, mais bon ce n'est pas indenté
comme il faut et des lignes qui font 165 caractères ce n'est pas
lisible.

Hors ligne

#419 27-06-2019 17:44:43

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-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 :

Je te propose cela à la place de ton « gribouillis » ...



big_smile

Je cherche les idées et toi tu dégribouilles big_smile

ton dégribouillage cool me donne :

bash: f : commande introuvable



bash: erreur de syntaxe près du symbole inattendu « then »



et pour un vob non entrelacé, il me met le contraire... ça décapes !!!  lol

Dernière modification par golgot200 (27-06-2019 17:51:21)

Hors ligne

#420 27-06-2019 18:47:13

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

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

Donc pour faire simple, on reste sur le script 405, sans rien toucher.
Maintenant, je suis sur un script 420_IDET pour test qui va naturellement t'irrisser les poils du dos lol mais qui fonctionnent très bien pour la détection interlaced ou non.
Je viens de vérifier, yadif est appliqué dans l'encodage que si c'est necessaire. Contrôle visuel dans le terminal.

Je lance un test sur un film principal et deux bonus. On se trouve dans le cas de figure :


    ## ENCODAGE
    ## GPU
    ## FILMS
    ## AC3 & DTS & MPEG1
    ## SOUS-TITRAGE(S) VF
 



...




[patrick@PC1 Desktop]$ ./406_IDET
Proceed...
/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE n'existe pas !
Création Du Dossier /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE
MPlayer SVN-r38139 (C) 2000-2019 MPlayer Team
225 audio & 465 video codecs
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing dvd://1.
There are 3 titles on this DVD.
There are 1 angles in this DVD title.

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000160
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00008ee0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000162d5
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x002c5d00
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x002c5e20
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x002d4180
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x002d42a0
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
audio stream: 1 format: ac3 (stereo) language: fr aid: 129.
audio stream: 2 format: ac3 (stereo) language: de aid: 130.
audio stream: 3 format: ac3 (stereo) language: it aid: 131.
audio stream: 4 format: ac3 (stereo) language: es aid: 132.
audio stream: 5 format: ac3 (stereo) language: en aid: 133.
audio stream: 6 format: ac3 (unknown) language: en aid: 134.
number of audio channels on disk: 7.
subtitle ( sid ): 0 language: en
subtitle ( sid ): 1 language: fr
subtitle ( sid ): 2 language: de
subtitle ( sid ): 3 language: it
subtitle ( sid ): 4 language: es
subtitle ( sid ): 5 language: nl
subtitle ( sid ): 6 language: ar
subtitle ( sid ): 7 language: cs
subtitle ( sid ): 8 language: da
subtitle ( sid ): 9 language: fi
subtitle ( sid ): 10 language: el
subtitle ( sid ): 11 language: iw
subtitle ( sid ): 12 language: hi
subtitle ( sid ): 13 language: hu
subtitle ( sid ): 14 language: is
subtitle ( sid ): 15 language: no
subtitle ( sid ): 16 language: pl
subtitle ( sid ): 17 language: pt
subtitle ( sid ): 18 language: sv
subtitle ( sid ): 19 language: tr
subtitle ( sid ): 20 language: fr
subtitle ( sid ): 21 language: de
subtitle ( sid ): 22 language: it
subtitle ( sid ): 23 language: es
subtitle ( sid ): 24 language: nl
number of subtitles on disk: 25
dump: 433520640 bytes written (~7.5%)


MPlayer interrupted by signal 2 in module: dumpstream
dump: 436785152 bytes written to '/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.vob'.
Core dumped ;)

Exiting... (End of file)
OK NO_INTERLACED
ffmpeg version n4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20181127
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[mpeg @ 0x5575cefca200] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
Input #0, mpeg, from '/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.vob':
  Duration: 00:07:26.72, start: 0.208056, bitrate: 7822 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x86]: Audio: ac3, 48000 Hz, 3.0, fltp, 448 kb/s
    Stream #0:2[0x85]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x84]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:4[0x83]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:5[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:6[0x81]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:7[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:8[0x33]: Subtitle: dvd_subtitle
    Stream #0:9[0x30]: Subtitle: dvd_subtitle
    Stream #0:10[0x32]: Subtitle: dvd_subtitle
    Stream #0:11[0x31]: Subtitle: dvd_subtitle
    Stream #0:12[0x2f]: Subtitle: dvd_subtitle
    Stream #0:13[0x2e]: Subtitle: dvd_subtitle
    Stream #0:14[0x2d]: Subtitle: dvd_subtitle
    Stream #0:15[0x2c]: Subtitle: dvd_subtitle
    Stream #0:16[0x2b]: Subtitle: dvd_subtitle
    Stream #0:17[0x2a]: Subtitle: dvd_subtitle
    Stream #0:18[0x29]: Subtitle: dvd_subtitle
    Stream #0:19[0x28]: Subtitle: dvd_subtitle
    Stream #0:20[0x27]: Subtitle: dvd_subtitle
    Stream #0:21[0x26]: Subtitle: dvd_subtitle
    Stream #0:22[0x34]: Subtitle: dvd_subtitle
    Stream #0:23[0x25]: Subtitle: dvd_subtitle
    Stream #0:24[0x24]: Subtitle: dvd_subtitle
    Stream #0:25[0x23]: Subtitle: dvd_subtitle
    Stream #0:26[0x22]: Subtitle: dvd_subtitle
    Stream #0:27[0x21]: Subtitle: dvd_subtitle
    Stream #0:28[0x20]: Subtitle: dvd_subtitle
[mpeg2_cuvid @ 0x5575cefdb300] Using auto hwaccel type cuda with new default device.
[mpeg2_cuvid @ 0x5575cefdb300] CUVID capabilities for mpeg2_cuvid:
[mpeg2_cuvid @ 0x5575cefdb300] 8 bit: supported: 1, min_width: 48, max_width: 4080, min_height: 16, max_height: 4080
[mpeg2_cuvid @ 0x5575cefdb300] 10 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0
[mpeg2_cuvid @ 0x5575cefdb300] 12 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (mpeg2_cuvid) -> h264 (h264_nvenc))
  Stream #0:7 -> #0:1 (copy)
  Stream #0:6 -> #0:2 (copy)
  Stream #0:5 -> #0:3 (copy)
  Stream #0:4 -> #0:4 (copy)
  Stream #0:3 -> #0:5 (copy)
  Stream #0:2 -> #0:6 (copy)
  Stream #0:1 -> #0:7 (copy)
Press [q] to stop, [?] for help
[mpeg2_cuvid @ 0x5575cefdb300] Formats: Original: cuda | HW: cuda | SW: nv12
[graph 0 input from stream 0:0 @ 0x5575cf8cbf80] w:720 h:576 pixfmt:nv12 tb:1/90000 fr:25/1 sar:64/45 sws_param:flags=2
[h264_nvenc @ 0x5575cf1e0840] Loaded Nvenc version 9.0
[h264_nvenc @ 0x5575cf1e0840] Nvenc initialized successfully
[h264_nvenc @ 0x5575cf1e0840] 1 CUDA capable devices found
[h264_nvenc @ 0x5575cf1e0840] [ GPU #0 - < GeForce GTX 1050 Ti > has Compute SM 6.1 ]
[h264_nvenc @ 0x5575cf1e0840] supports NVENC
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), nv12(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)
    Stream #0:2(fra): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : ac3(stereo)
    Stream #0:3(ger): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : ac3(stereo)
    Stream #0:4(ita): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : ac3(stereo)
    Stream #0:5(spa): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : ac3(stereo)
    Stream #0:6(en): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : ac3(stereo)
    Stream #0:7(en): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 3.0, fltp, 448 kb/s
    Metadata:
      title           : ac3(unknown)
[mpeg @ 0x5575cefca200] New subtitle stream 0:29 at pos:19288078 and DTS:35.5681s speed=23.9x    
[mpeg @ 0x5575cefca200] New subtitle stream 0:30 at pos:19374094 and DTS:35.8081s
[mpeg @ 0x5575cefca200] New subtitle stream 0:31 at pos:19382286 and DTS:35.8081s
[mpeg @ 0x5575cefca200] New subtitle stream 0:32 at pos:19388430 and DTS:35.8081s
No more output streams to write to, finishing.e=00:07:15.61 bitrate=3281.5kbits/s speed=26.4x    
frame=11170 fps=659 q=20.0 Lsize=  179624kB time=00:07:26.92 bitrate=3292.5kbits/s speed=26.4x    
video:91621kB audio:87254kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.419073%
Input file #0 (/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.vob):
  Input stream #0:0 (video): 11170 packets read (334874365 bytes); 11170 frames decoded;
  Input stream #0:1 (audio): 13960 packets read (25015875 bytes);
  Input stream #0:2 (audio): 13961 packets read (10721955 bytes);
  Input stream #0:3 (audio): 13961 packets read (10721955 bytes);
  Input stream #0:4 (audio): 13961 packets read (10721955 bytes);
  Input stream #0:5 (audio): 13961 packets read (10721955 bytes);
  Input stream #0:6 (audio): 13961 packets read (10721955 bytes);
  Input stream #0:7 (audio): 13961 packets read (10721955 bytes);
  Input stream #0:8 (subtitle): 0 packets read (0 bytes);
  Input stream #0:9 (subtitle): 0 packets read (0 bytes);
  Input stream #0:10 (subtitle): 0 packets read (0 bytes);
  Input stream #0:11 (subtitle): 0 packets read (0 bytes);
  Input stream #0:12 (subtitle): 0 packets read (0 bytes);
  Input stream #0:13 (subtitle): 0 packets read (0 bytes);
  Input stream #0:14 (subtitle): 0 packets read (0 bytes);
  Input stream #0:15 (subtitle): 0 packets read (0 bytes);
  Input stream #0:16 (subtitle): 0 packets read (0 bytes);
  Input stream #0:17 (subtitle): 0 packets read (0 bytes);
  Input stream #0:18 (subtitle): 0 packets read (0 bytes);
  Input stream #0:19 (subtitle): 0 packets read (0 bytes);
  Input stream #0:20 (subtitle): 0 packets read (0 bytes);
  Input stream #0:21 (subtitle): 0 packets read (0 bytes);
  Input stream #0:22 (subtitle): 0 packets read (0 bytes);
  Input stream #0:23 (subtitle): 0 packets read (0 bytes);
  Input stream #0:24 (subtitle): 0 packets read (0 bytes);
  Input stream #0:25 (subtitle): 0 packets read (0 bytes);
  Input stream #0:26 (subtitle): 0 packets read (0 bytes);
  Input stream #0:27 (subtitle): 0 packets read (0 bytes);
  Input stream #0:28 (subtitle): 0 packets read (0 bytes);
  Total: 108896 packets (424221970 bytes) demuxed
Output file #0 (/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv):
  Output stream #0:0 (video): 11170 frames encoded; 11170 packets muxed (93819438 bytes);
  Output stream #0:1 (audio): 13961 packets muxed (10721955 bytes);
  Output stream #0:2 (audio): 13961 packets muxed (10721955 bytes);
  Output stream #0:3 (audio): 13961 packets muxed (10721955 bytes);
  Output stream #0:4 (audio): 13961 packets muxed (10721955 bytes);
  Output stream #0:5 (audio): 13961 packets muxed (10721955 bytes);
  Output stream #0:6 (audio): 13961 packets muxed (10721955 bytes);
  Output stream #0:7 (audio): 13960 packets muxed (25015875 bytes);
  Total: 108896 packets (183167043 bytes) muxed
[AVIOContext @ 0x5575cf01bc80] Statistics: 194 seeks, 864 writeouts
[h264_nvenc @ 0x5575cf1e0840] Nvenc unloaded
[AVIOContext @ 0x5575cefd3140] Statistics: 439132304 bytes read, 3 seeks
mkvmerge v35.0.0 ('All The Love In The World') 64-bit
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv » : Utilisation du démultiplexeur pour le format « Matroska ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv » piste 0 : Utilisation du module de sortie pour le format « AVC/H.264 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv » piste 1 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv » piste 2 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv » piste 3 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv » piste 4 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv » piste 5 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv » piste 6 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE.mkv » piste 7 : Utilisation du module de sortie pour le format « AC-3 ».
Le fichier « /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » est ouvert en écriture.
Progression : 100%
Les entrées CUE (l'index) sont en cours d'écriture…
Le multiplexage a pris 1 seconde.
MEncoder SVN-r38139 (C) 2000-2019 MPlayer Team
225 audio & 465 video codecs
There are 3 titles on this DVD.
There are 1 angles in this DVD title.

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000160
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00008ee0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000162d5
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x002c5d00
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x002c5e20
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x002d4180
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x002d42a0
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
audio stream: 1 format: ac3 (stereo) language: fr aid: 129.
audio stream: 2 format: ac3 (stereo) language: de aid: 130.
audio stream: 3 format: ac3 (stereo) language: it aid: 131.
audio stream: 4 format: ac3 (stereo) language: es aid: 132.
audio stream: 5 format: ac3 (stereo) language: en aid: 133.
audio stream: 6 format: ac3 (unknown) language: en aid: 134.
number of audio channels on disk: 7.
subtitle ( sid ): 0 language: en
subtitle ( sid ): 1 language: fr
subtitle ( sid ): 2 language: de
subtitle ( sid ): 3 language: it
subtitle ( sid ): 4 language: es
subtitle ( sid ): 5 language: nl
subtitle ( sid ): 6 language: ar
subtitle ( sid ): 7 language: cs
subtitle ( sid ): 8 language: da
subtitle ( sid ): 9 language: fi
subtitle ( sid ): 10 language: el
subtitle ( sid ): 11 language: iw
subtitle ( sid ): 12 language: hi
subtitle ( sid ): 13 language: hu
subtitle ( sid ): 14 language: is
subtitle ( sid ): 15 language: no
subtitle ( sid ): 16 language: pl
subtitle ( sid ): 17 language: pt
subtitle ( sid ): 18 language: sv
subtitle ( sid ): 19 language: tr
subtitle ( sid ): 20 language: fr
subtitle ( sid ): 21 language: de
subtitle ( sid ): 22 language: it
subtitle ( sid ): 23 language: es
subtitle ( sid ): 24 language: nl
number of subtitles on disk: 25

success: format: 2  data: 0x0 - 0x57cdf800
MPEG-PS file format detected.
VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  9800.0 kbps (1225.0 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.000  ftime:=0.0400
videocodec: framecopy (720x576 24bpp fourcc=10000002)
Writing header...
ODML: vprp aspect is 16:9.
Writing header...
ODML: vprp aspect is 16:9.
^CPos: 502.2s  12556f ( 8%) 952.80fps Trem:   2min 4203mb  A-V:0.000 [6032:0]
Writing index...
Writing header...
ODML: vprp aspect is 16:9.

Video stream: 6031.829 kbit/s  (753978 B/s)  size: 378678221 bytes  502.240 secs  12556 frames
MEncoder SVN-r38139 (C) 2000-2019 MPlayer Team
225 audio & 465 video codecs
There are 3 titles on this DVD.
There are 1 angles in this DVD title.

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000160
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00008ee0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000162d5
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x002c5d00
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x002c5e20
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x002d4180
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x002d42a0
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
audio stream: 1 format: ac3 (stereo) language: fr aid: 129.
audio stream: 2 format: ac3 (stereo) language: de aid: 130.
audio stream: 3 format: ac3 (stereo) language: it aid: 131.
audio stream: 4 format: ac3 (stereo) language: es aid: 132.
audio stream: 5 format: ac3 (stereo) language: en aid: 133.
audio stream: 6 format: ac3 (unknown) language: en aid: 134.
number of audio channels on disk: 7.
subtitle ( sid ): 0 language: en
subtitle ( sid ): 1 language: fr
subtitle ( sid ): 2 language: de
subtitle ( sid ): 3 language: it
subtitle ( sid ): 4 language: es
subtitle ( sid ): 5 language: nl
subtitle ( sid ): 6 language: ar
subtitle ( sid ): 7 language: cs
subtitle ( sid ): 8 language: da
subtitle ( sid ): 9 language: fi
subtitle ( sid ): 10 language: el
subtitle ( sid ): 11 language: iw
subtitle ( sid ): 12 language: hi
subtitle ( sid ): 13 language: hu
subtitle ( sid ): 14 language: is
subtitle ( sid ): 15 language: no
subtitle ( sid ): 16 language: pl
subtitle ( sid ): 17 language: pt
subtitle ( sid ): 18 language: sv
subtitle ( sid ): 19 language: tr
subtitle ( sid ): 20 language: fr
subtitle ( sid ): 21 language: de
subtitle ( sid ): 22 language: it
subtitle ( sid ): 23 language: es
subtitle ( sid ): 24 language: nl
number of subtitles on disk: 25

success: format: 2  data: 0x0 - 0x57cdf800
MPEG-PS file format detected.
VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  9800.0 kbps (1225.0 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.000  ftime:=0.0400
videocodec: framecopy (720x576 24bpp fourcc=10000002)
Writing header...
ODML: vprp aspect is 16:9.
Writing header...
ODML: vprp aspect is 16:9.
^CPos: 694.5s  17363f (12%) 423.66fps Trem:   5min 4208mb  A-V:0.000 [6102:0]
Writing index...
Writing header...
ODML: vprp aspect is 16:9.

Video stream: 6101.930 kbit/s  (762741 B/s)  size: 529739053 bytes  694.520 secs  17363 frames
mkvmerge v35.0.0 ('All The Love In The World') 64-bit
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » : Utilisation du démultiplexeur pour le format « Matroska ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-vobsubs-fr.idx » : Utilisation du démultiplexeur pour le format « VobSub ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 0 : Utilisation du module de sortie pour le format « AVC/H.264 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 1 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 2 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 3 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 4 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 5 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 6 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 7 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-vobsubs-fr.idx » piste 0 : Utilisation du module de sortie pour le format « VobSub ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-vobsubs-fr.idx » piste 1 : Utilisation du module de sortie pour le format « VobSub ».
Le fichier « /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/1-SLEEPLESS_IN_SEATTLE-[Language:en,fr,de,it,es,en,en]+SUBVF.mkv » est ouvert en écriture.
Progression : 100%
Les entrées CUE (l'index) sont en cours d'écriture…
Le multiplexage a pris 1 seconde.
MPlayer SVN-r38139 (C) 2000-2019 MPlayer Team
225 audio & 465 video codecs
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing dvd://2.
There are 3 titles on this DVD.
There are 1 angles in this DVD title.

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000160
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00008ee0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000162d5
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x002c5d00
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x002c5e20
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x002d4180
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x002d42a0
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
number of audio channels on disk: 1.
subtitle ( sid ): 0 language: fr
subtitle ( sid ): 1 language: de
subtitle ( sid ): 2 language: it
subtitle ( sid ): 3 language: es
subtitle ( sid ): 4 language: nl
number of subtitles on disk: 5
dump: 113934336 bytes written (~96.2%)
dump: 118405120 bytes written to '/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE.vob'.
Core dumped ;)

Exiting... (End of file)
INTERLACED
ffmpeg version n4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20181127
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[mpeg @ 0x555951c71140] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
Input #0, mpeg, from '/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE.vob':
  Duration: 00:02:30.94, start: 0.051378, bitrate: 6275 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:2[0x23]: Subtitle: dvd_subtitle
    Stream #0:3[0x22]: Subtitle: dvd_subtitle
    Stream #0:4[0x21]: Subtitle: dvd_subtitle
    Stream #0:5[0x20]: Subtitle: dvd_subtitle
    Stream #0:6[0x24]: Subtitle: dvd_subtitle
[mpeg2_cuvid @ 0x555951caa440] Using auto hwaccel type cuda with new default device.
[mpeg2_cuvid @ 0x555951caa440] CUVID capabilities for mpeg2_cuvid:
[mpeg2_cuvid @ 0x555951caa440] 8 bit: supported: 1, min_width: 48, max_width: 4080, min_height: 16, max_height: 4080
[mpeg2_cuvid @ 0x555951caa440] 10 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0
[mpeg2_cuvid @ 0x555951caa440] 12 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (mpeg2_cuvid) -> h264 (h264_nvenc))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpeg2_cuvid @ 0x555951caa440] Formats: Original: cuda | HW: cuda | SW: nv12
[graph 0 input from stream 0:0 @ 0x55595245cd00] w:720 h:576 pixfmt:nv12 tb:1/90000 fr:25/1 sar:16/15 sws_param:flags=2
[auto_scaler_0 @ 0x55595245f780] w:iw h:ih flags:'bicubic' interl:0
[Parsed_yadif_0 @ 0x55595245c180] auto-inserting filter 'auto_scaler_0' between the filter 'graph 0 input from stream 0:0' and the filter 'Parsed_yadif_0'
[auto_scaler_0 @ 0x55595245f780] w:720 h:576 fmt:nv12 sar:16/15 -> w:720 h:576 fmt:yuv420p sar:16/15 flags:0x4
[h264_nvenc @ 0x555951cb78c0] Loaded Nvenc version 9.0
[h264_nvenc @ 0x555951cb78c0] Nvenc initialized successfully
[h264_nvenc @ 0x555951cb78c0] 1 CUDA capable devices found
[h264_nvenc @ 0x555951cb78c0] [ GPU #0 - < GeForce GTX 1050 Ti > has Compute SM 6.1 ]
[h264_nvenc @ 0x555951cb78c0] supports NVENC
Output #0, matroska, to '/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-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 16:15 DAR 4:3], q=18-23, 2000 kb/s, 50 fps, 1k tbn, 50 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)
No more output streams to write to, finishing.e=00:02:28.32 bitrate=3826.1kbits/s speed=9.85x    
frame= 7550 fps=493 q=19.0 Lsize=   71541kB time=00:02:31.14 bitrate=3877.6kbits/s speed=9.86x    
video:67916kB audio:3538kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.121734%
Input file #0 (/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE.vob):
  Input stream #0:0 (video): 3775 packets read (112026759 bytes); 3775 frames decoded;
  Input stream #0:1 (audio): 4718 packets read (3623424 bytes);
  Input stream #0:2 (subtitle): 0 packets read (0 bytes);
  Input stream #0:3 (subtitle): 0 packets read (0 bytes);
  Input stream #0:4 (subtitle): 0 packets read (0 bytes);
  Input stream #0:5 (subtitle): 0 packets read (0 bytes);
  Input stream #0:6 (subtitle): 0 packets read (0 bytes);
  Total: 8493 packets (115650183 bytes) demuxed
Output file #0 (/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE.mkv):
  Output stream #0:0 (video): 7550 frames encoded; 7550 packets muxed (69545771 bytes);
  Output stream #0:1 (audio): 4718 packets muxed (3623424 bytes);
  Total: 12268 packets (73169195 bytes) muxed
[AVIOContext @ 0x555951c73640] Statistics: 74 seeks, 334 writeouts
[h264_nvenc @ 0x555951cb78c0] Nvenc unloaded
[AVIOContext @ 0x555951c7a000] Statistics: 122816656 bytes read, 2 seeks
mkvmerge v35.0.0 ('All The Love In The World') 64-bit
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE.mkv » : Utilisation du démultiplexeur pour le format « Matroska ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE.mkv » piste 0 : Utilisation du module de sortie pour le format « AVC/H.264 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE.mkv » piste 1 : Utilisation du module de sortie pour le format « AC-3 ».
Le fichier « /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » est ouvert en écriture.
Progression : 100%
Les entrées CUE (l'index) sont en cours d'écriture…
Le multiplexage a pris 0 seconde.
MEncoder SVN-r38139 (C) 2000-2019 MPlayer Team
225 audio & 465 video codecs
There are 3 titles on this DVD.
There are 1 angles in this DVD title.

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000160
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00008ee0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000162d5
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x002c5d00
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x002c5e20
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x002d4180
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x002d42a0
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
number of audio channels on disk: 1.
subtitle ( sid ): 0 language: fr
subtitle ( sid ): 1 language: de
subtitle ( sid ): 2 language: it
subtitle ( sid ): 3 language: es
subtitle ( sid ): 4 language: nl
number of subtitles on disk: 5

success: format: 2  data: 0x0 - 0x7187000
MPEG-PS file format detected.
VIDEO:  MPEG2  720x576  (aspect 2)  25.000 fps  9800.0 kbps (1225.0 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.000  ftime:=0.0400
videocodec: framecopy (720x576 24bpp fourcc=10000002)
Writing header...
ODML: vprp aspect is 4:3.
Writing header...
ODML: vprp aspect is 4:3.
Pos: 151.0s   3775f (99%)  0.00fps Trem:   0min 106mb  A-V:0.000 [5936:0]
Writing index...
Writing header...
ODML: vprp aspect is 4:3.

Video stream: 5934.931 kbit/s  (741866 B/s)  size: 112021817 bytes  151.000 secs  3775 frames
mkvmerge v35.0.0 ('All The Love In The World') 64-bit
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » : Utilisation du démultiplexeur pour le format « Matroska ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-vobsubs-fr.idx » : Utilisation du démultiplexeur pour le format « VobSub ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 0 : Utilisation du module de sortie pour le format « AVC/H.264 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 1 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-vobsubs-fr.idx » piste 0 : Utilisation du module de sortie pour le format « VobSub ».
Le fichier « /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/2-SLEEPLESS_IN_SEATTLE-[Language:en]+SUBVF.mkv » est ouvert en écriture.
Progression : 100%
Les entrées CUE (l'index) sont en cours d'écriture…
Le multiplexage a pris 0 seconde.
MPlayer SVN-r38139 (C) 2000-2019 MPlayer Team
225 audio & 465 video codecs
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing dvd://3.
There are 3 titles on this DVD.
There are 1 angles in this DVD title.

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000160
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00008ee0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000162d5
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x002c5d00
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x002c5e20
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x002d4180
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x002d42a0
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
number of audio channels on disk: 1.
subtitle ( sid ): 0 language: fr
subtitle ( sid ): 1 language: de
subtitle ( sid ): 2 language: it
subtitle ( sid ): 3 language: es
subtitle ( sid ): 4 language: nl
number of subtitles on disk: 5
dump: 295849984 bytes written (~97.7%)
dump: 302714880 bytes written to '/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE.vob'.
Core dumped ;)

Exiting... (End of file)
INTERLACED
ffmpeg version n4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20181127
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[mpeg @ 0x556e701c0140] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
Input #0, mpeg, from '/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE.vob':
  Duration: 00:06:24.54, start: 0.049756, bitrate: 6297 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:2[0x24]: Subtitle: dvd_subtitle
    Stream #0:3[0x23]: Subtitle: dvd_subtitle
    Stream #0:4[0x22]: Subtitle: dvd_subtitle
    Stream #0:5[0x21]: Subtitle: dvd_subtitle
    Stream #0:6[0x20]: Subtitle: dvd_subtitle
[mpeg2_cuvid @ 0x556e702a0200] Using auto hwaccel type cuda with new default device.
[mpeg2_cuvid @ 0x556e702a0200] CUVID capabilities for mpeg2_cuvid:
[mpeg2_cuvid @ 0x556e702a0200] 8 bit: supported: 1, min_width: 48, max_width: 4080, min_height: 16, max_height: 4080
[mpeg2_cuvid @ 0x556e702a0200] 10 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0
[mpeg2_cuvid @ 0x556e702a0200] 12 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (mpeg2_cuvid) -> h264 (h264_nvenc))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpeg2_cuvid @ 0x556e702a0200] Formats: Original: cuda | HW: cuda | SW: nv12
[graph 0 input from stream 0:0 @ 0x556e709aca80] w:720 h:576 pixfmt:nv12 tb:1/90000 fr:25/1 sar:16/15 sws_param:flags=2
[auto_scaler_0 @ 0x556e709af140] w:iw h:ih flags:'bicubic' interl:0
[Parsed_yadif_0 @ 0x556e709abe00] auto-inserting filter 'auto_scaler_0' between the filter 'graph 0 input from stream 0:0' and the filter 'Parsed_yadif_0'
[auto_scaler_0 @ 0x556e709af140] w:720 h:576 fmt:nv12 sar:16/15 -> w:720 h:576 fmt:yuv420p sar:16/15 flags:0x4
[h264_nvenc @ 0x556e701dcd80] Loaded Nvenc version 9.0
[h264_nvenc @ 0x556e701dcd80] Nvenc initialized successfully
[h264_nvenc @ 0x556e701dcd80] 1 CUDA capable devices found
[h264_nvenc @ 0x556e701dcd80] [ GPU #0 - < GeForce GTX 1050 Ti > has Compute SM 6.1 ]
[h264_nvenc @ 0x556e701dcd80] supports NVENC
Output #0, matroska, to '/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-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 16:15 DAR 4:3], q=18-23, 2000 kb/s, 50 fps, 1k tbn, 50 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)
No more output streams to write to, finishing.e=00:06:21.40 bitrate=3698.9kbits/s speed=  10x    
frame=19230 fps=501 q=22.0 Lsize=  172611kB time=00:06:24.74 bitrate=3675.3kbits/s speed=  10x    
video:163379kB audio:9014kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.127003%
Input file #0 (/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE.vob):
  Input stream #0:0 (video): 9615 packets read (286779719 bytes); 9615 frames decoded;
  Input stream #0:1 (audio): 12018 packets read (9229824 bytes);
  Input stream #0:2 (subtitle): 0 packets read (0 bytes);
  Input stream #0:3 (subtitle): 0 packets read (0 bytes);
  Input stream #0:4 (subtitle): 0 packets read (0 bytes);
  Input stream #0:5 (subtitle): 0 packets read (0 bytes);
  Input stream #0:6 (subtitle): 0 packets read (0 bytes);
  Total: 21633 packets (296009543 bytes) demuxed
Output file #0 (/home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE.mkv):
  Output stream #0:0 (video): 19230 frames encoded; 19230 packets muxed (167299759 bytes);
  Output stream #0:1 (audio): 12018 packets muxed (9229824 bytes);
  Total: 31248 packets (176529583 bytes) muxed
[AVIOContext @ 0x556e701f5800] Statistics: 168 seeks, 800 writeouts
[h264_nvenc @ 0x556e701dcd80] Nvenc unloaded
[AVIOContext @ 0x556e701c9000] Statistics: 307355792 bytes read, 2 seeks
mkvmerge v35.0.0 ('All The Love In The World') 64-bit
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE.mkv » : Utilisation du démultiplexeur pour le format « Matroska ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE.mkv » piste 0 : Utilisation du module de sortie pour le format « AVC/H.264 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE.mkv » piste 1 : Utilisation du module de sortie pour le format « AC-3 ».
Le fichier « /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » est ouvert en écriture.
Progression : 100%
Les entrées CUE (l'index) sont en cours d'écriture…
Le multiplexage a pris 0 seconde.
MEncoder SVN-r38139 (C) 2000-2019 MPlayer Team
225 audio & 465 video codecs
There are 3 titles on this DVD.
There are 1 angles in this DVD title.

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000160
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00008ee0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000162d5
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x002c5d00
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x002c5e20
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x002d4180
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x002d42a0
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
number of audio channels on disk: 1.
subtitle ( sid ): 0 language: fr
subtitle ( sid ): 1 language: de
subtitle ( sid ): 2 language: it
subtitle ( sid ): 3 language: es
subtitle ( sid ): 4 language: nl
number of subtitles on disk: 5

success: format: 2  data: 0x0 - 0x12240800
MPEG-PS file format detected.
VIDEO:  MPEG2  720x576  (aspect 2)  25.000 fps  9800.0 kbps (1225.0 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.000  ftime:=0.0400
videocodec: framecopy (720x576 24bpp fourcc=10000002)
Writing header...
ODML: vprp aspect is 4:3.
Writing header...
ODML: vprp aspect is 4:3.
Pos: 384.6s   9615f (99%) 7999.17fps Trem:   0min 273mb  A-V:0.000 [5965:0]
Writing index...
Writing header...
ODML: vprp aspect is 4:3.

Video stream: 5965.333 kbit/s  (745666 B/s)  size: 286783414 bytes  384.600 secs  9615 frames
mkvmerge v35.0.0 ('All The Love In The World') 64-bit
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » : Utilisation du démultiplexeur pour le format « Matroska ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-vobsubs-fr.idx » : Utilisation du démultiplexeur pour le format « VobSub ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 0 : Utilisation du module de sortie pour le format « AVC/H.264 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE+CHAPTERS.mkv » piste 1 : Utilisation du module de sortie pour le format « AC-3 ».
« /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-vobsubs-fr.idx » piste 0 : Utilisation du module de sortie pour le format « VobSub ».
Le fichier « /home/patrick/Desktop/SLEEPLESS_IN_SEATTLE/3-SLEEPLESS_IN_SEATTLE-[Language:en]+SUBVF.mkv » est ouvert en écriture.
Progression : 100%
Les entrées CUE (l'index) sont en cours d'écriture…
Le multiplexage a pris 0 seconde.
[patrick@PC1 Desktop]$
 

Dernière modification par golgot200 (27-06-2019 18:59:23)

Hors ligne

#421 27-06-2019 19:01:22

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 :

et pour un vob non entrelacé, il me met le contraire... ça décapes !!!


Je t'avais prévenu.

Hors ligne

#422 27-06-2019 19:13:06

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

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

Bon, je suis bon sur les multiframes tff et bff à 0  mais en single frame tff est à 1 et bff à 4. C'est pas mal, il faut que je regarde un peu mieux les options pour yadif.

Hors ligne

#423 27-06-2019 19:13:33

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)

voilà ça devrait fonctionner comme le tiens :


mapfile -t INTERLACED < \
        <(ffmpeg -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null \
                 -i "$FOLDER/$i-$TITLE.vob" 2>&1 | \
              awk '/(Multi|Single) frame detection: / {print $8$10}' )

if [[ "${INTERLACED[0]}" -eq "0" ]] && [[ "${INTERLACED[1]}" -eq "0" ]]
then
    echo "OK NO_INTERLACED"
else
    echo "INTERLACED"
fi
 


Je n'ai pas trouvé d'explications claires qui permettent de savoir
quand une vidéo est entrelacée ou pas depuis les informations fournit
avec le filtre idet de ffmpeg.  Je n'ai pas beaucoup cherché non plus.
Il faudrait chercher du côté des sites spécialisé en vidéo ; Voire
poser la question sur un forum pour ffmpeg.

Dernière modification par enicar (27-06-2019 19:18:58)

Hors ligne

#424 27-06-2019 19:15:42

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-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 :

voilà ça devrait fonctionner comme le tiens :


mapfile -t INTERLACED < \
        <(ffmpeg -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null \
                 -i "$FOLDER/$i-$TITLE.vob" 2>&1 | \
              awk '/(Multi|Single) frame detection: / {print $8$10}' )

if [[ "${INTERLACED[0]}" -eq "0" ]] && [[ "${INTERLACED[1]}" -eq "0" ]]
then
    echo "OK NO_INTERLACED"
else
    echo "INTERLACED"
fi
 


Je n'ai pas trouvé d'explications claires qui permettent de savoir
quand une vidéo est entrelacé ou pas depuis les informations fournit
avec le filtre idet de ffmpeg.  Je n'ai pas beaucoup cherché non plus.
Il faudrait chercher du côté des sites spécialisé en vidéo ; Voire
poser la question sur un forum pour ffmpeg.



Je m'en occupe wink

Hors ligne

#425 28-06-2019 14:15:31

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)

Salut, j'ai bidouillé un truc qui pourrait être la base de cette auto
détection :


#! /bin/bash

BFF_TFF=0
PROGRESSIVE=0
UNDETERMINED=0
while read -r line; do
    mapfile -t -d$' ' TEMP < <(echo -n "$line")
    (( BFF_TFF += TEMP[0] ))
    (( PROGRESSIVE += TEMP[1] ))
    (( UNDETERMINED += TEMP[2] ))
done < <(ffmpeg -hide_banner -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null \
                 -i "$FOLDER/$i-$TITLE.vob" 2>&1 | \
              awk '/(Multi|Single) frame detection: / {print $8+$10,$12,$14}' )

echo "BFF_TFF: $BFF_TFF"
echo "PROGRESSIVE: $PROGRESSIVE"
echo "UNDETERMINED: $UNDETERMINED"
 


Je fais la somme des champs BFF et TFF pour les single et multi
frames. Pareil pour les champs PROGRESSIVE et UNDETERMINED.
Donc la détection va consister à comparer BFF_TFF par
rapport à UNDETERMINED si différent de zéro, pareil pour PROGRESSIVE.
Si UNDETERMINED est plus grand ou comparable à l'un de ces deux
champs, tout en ayant l'autre presque à zéro, c'est que l'on arrive
pas à savoir si c'est entrelacé ou pas. Il ne reste plus qu'à formuler
tout ça de façon algorithmique…
wink

Dernière modification par enicar (28-06-2019 15:45:36)

Hors ligne

Pied de page des forums