Debian-facile

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

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

#176 11-06-2019 13:58:37

Debian Alain
Adhérent(e)
Lieu : zone 51
Distrib. : W$10 / stable / ubuntu / F29 / testing
Noyau : Linux 4.19.0-5 amd 64 debian
(G)UI : Gnome wayland / Gdm3
Inscription : 11-03-2017

Re : Script Encodage VOB en MKV [GPU NVIDIA]

remplacer 264_nvenc par h264_vaapi.


là c'est fait  .

il suffit de supprimer le « -c:v mpeg2_cuvid »,


non , car alors le script plante et je n'ai plus aucun fichier dans le dossier du dvd .


1498812139.jpg Cats, funniest creatures in animal kingdom - Funny cat compilation
RYZEN7 1700X - PRIME X370 PRO - 16 Go DDR4 - RADEON PULSE RX 550 4GB DDR5 OC UEFI - CORSAIR RM750X - SSD crucial MX500 500GB

Hors ligne

#177 11-06-2019 14:00:52

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Tiens un lien :
https://jcutrer.com/howto/ffmpeg-amd-nv … -h264-h265

ffmpeg: AMD & NVIDIA hardware video encoding (h264, h265)


Encode AVI to h.264 Video (Software Encoding)

ffmpeg -i input.avi -c:v libx264 output.mp4





Encode AVI to h.265 Video (Software Encoding)

ffmpeg -i input.avi -c:v libx265 output.mp4





***** Encode AVI to h.264 Video (AMD GPU Encoding)

ffmpeg -i input.avi -c:v h264_amf output.mp4





***** Encode AVI to h.265 Video (AMD GPU Encoding)

ffmpeg -i input.avi -c:v hvec_amf output.mp4





Encode AVI to h.264 Video (NVIDIA GPU Encoding)

ffmpeg -i input.avi -c:v h264_nvenc output.mp4





Encode AVI to h.265 Video (NVIDIA GPU Encoding)

ffmpeg -i input.avi -c:v hvec_nvenc output.mp4

Dernière modification par golgot200 (11-06-2019 14:02:51)

Hors ligne

#178 11-06-2019 14:04:06

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Debian Alain a écrit :

non , car alors le script plante et je n'ai plus aucun fichier dans le dossier du dvd .


euh… il faut que tu montres exactement ce que tu as fait et aussi les messages produits sinon ça ne sert à rien d'en parler. Les maîtres mots, pour aujourd'hui sont précision et exactitude


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#179 11-06-2019 14:05:59

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Donc sur ma version de ffmpeg, si je fais un :

ffmpeg -h encoder=h264_amf



j'obtiens un beau :

Codec 'h264_amf' is not recognized by FFmpeg.




EDIT: c'est bien dommage car je vois que sous Arch il y a un paquet ffmpeg-amd-full-git

Dernière modification par golgot200 (11-06-2019 14:08:29)

Hors ligne

#180 11-06-2019 14:23:32

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

@Debian Alain

fait moi un :

ffmpeg -encoders | grep vaapi



et aussi un :

ls -al /dev/dri/

Dernière modification par golgot200 (11-06-2019 14:40:12)

Hors ligne

#181 11-06-2019 14:26:12

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

golgot200 a écrit :

EDIT: c'est bien dommage car je vois que sous Arch il y a un paquet ffmpeg-amd-full-git


Ah, ça serait intéressant de recompiler ffmpeg avec ce support. Je me souviens
que c'est un sacré bordel de recompiler ffmpeg. Il faut le faire dans un chroot sous peine
de foutre le merdier dans son système à cause des dépendances qui peuvent entrer
en conflit.

Dernière modification par enicar (11-06-2019 14:26:31)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#182 11-06-2019 15:23:58

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

enicar a écrit :

golgot200 a écrit :

EDIT: c'est bien dommage car je vois que sous Arch il y a un paquet ffmpeg-amd-full-git


Ah, ça serait intéressant de recompiler ffmpeg avec ce support. Je me souviens
que c'est un sacré bordel de recompiler ffmpeg. Il faut le faire dans un chroot sous peine
de foutre le merdier dans son système à cause des dépendances qui peuvent entrer
en conflit.



Je le faisais bien sous Debian. ( Sans faire un make install ) et un ./ffmpeg  en commande dans mon script wink

Hors ligne

#183 11-06-2019 15:24:25

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Hors ligne

#184 11-06-2019 15:39:46

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

golgot200 a écrit :

Je le faisais bien sous Debian.



Moi je l'ai fait sous debian, mais en recompilant depuis le paquet source
après avoir modifié quelques options, avec debuild.  Ensuite, il suffit d'installer
le nouveau paquet.


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#185 11-06-2019 15:54:08

Debian Alain
Adhérent(e)
Lieu : zone 51
Distrib. : W$10 / stable / ubuntu / F29 / testing
Noyau : Linux 4.19.0-5 amd 64 debian
(G)UI : Gnome wayland / Gdm3
Inscription : 11-03-2017

Re : Script Encodage VOB en MKV [GPU NVIDIA]

pardon les gars , je m'étais absenté .

chercher les médicaments pour mon chat .

je suis de  retour .

alors :

ffmpeg -h encoder=h264_amf



ffmpeg version 4.1.3-1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-7)
  configuration: --prefix=/usr --extra-version=1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  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
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Codec 'h264_amf' is not recognized by FFmpeg.
 



ffmpeg -encoders | grep vaapi



ffmpeg version 4.1.3-1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-7)
  configuration: --prefix=/usr --extra-version=1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  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
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
 V..... h264_vaapi           H.264/AVC (VAAPI) (codec h264)
 V..... hevc_vaapi           H.265/HEVC (VAAPI) (codec hevc)
 V..... mjpeg_vaapi          MJPEG (VAAPI) (codec mjpeg)
 V..... mpeg2_vaapi          MPEG-2 (VAAPI) (codec mpeg2video)
 V..... vp8_vaapi            VP8 (VAAPI) (codec vp8)
 V..... vp9_vaapi            VP9 (VAAPI) (codec vp9)
 


et

ls -al /dev/dri/



total 0
drwxr-xr-x   3 root root        100 juin  11 13:42 .
drwxr-xr-x  22 root root       4480 juin  11 14:11 ..
drwxr-xr-x   2 root root         80 juin  11 13:42 by-path
crw-rw----+  1 root video  226,   0 juin  11 13:42 card0
crw-rw----+  1 root render 226, 128 juin  11 13:42 renderD128
 



encore pardon .  tongue

Dernière modification par Debian Alain (11-06-2019 16:45:03)


1498812139.jpg Cats, funniest creatures in animal kingdom - Funny cat compilation
RYZEN7 1700X - PRIME X370 PRO - 16 Go DDR4 - RADEON PULSE RX 550 4GB DDR5 OC UEFI - CORSAIR RM750X - SSD crucial MX500 500GB

Hors ligne

#186 11-06-2019 20:10:09

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Bien bien bien

faut que je compile ffmpeg-full sur ma Arch hmm

Hors ligne

#187 11-06-2019 21:05:52

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

@enicar

Avec ça je devrais pouvoir faire quelques choses big_smile

ffmpeg-full


Enabled encoders:
a64multi          h264_qsv          mpeg1video        prores_ks
a64multi5         h264_v4l2m2m        mpeg2_qsv       qtrle
aac           h264_vaapi        mpeg2_vaapi       r10k
ac3           hap         mpeg2video        r210
ac3_fixed         hevc_nvenc        mpeg4       ra_144
adpcm_adx         hevc_qsv          mpeg4_v4l2m2m     rawvideo
adpcm_g722          hevc_v4l2m2m        msmpeg4v2       roq
adpcm_g726          hevc_vaapi        msmpeg4v3       roq_dpcm
adpcm_g726le          huffyuv         msvideo1        rv10
adpcm_ima_qt          jpeg2000          nellymoser        rv20
adpcm_ima_wav         jpegls          nvenc       s302m
adpcm_ms          libaom_av1        nvenc_h264        sbc
adpcm_swf         libcodec2         nvenc_hevc        sgi
adpcm_yamaha          libfdk_aac        opus        snow
alac            libgsm          pam         sonic
alias_pix         libgsm_ms         pbm         sonic_ls
amv           libilbc         pcm_alaw        srt
apng            libkvazaar        pcm_f32be       ssa
aptx            libmp3lame        pcm_f32le       subrip
aptx_hd           libopencore_amrnb       pcm_f64be       sunrast
ass           libopenh264       pcm_f64le       svq1
asv1            libopenjpeg       pcm_mulaw       targa
asv2            libopus         pcm_s16be       text
avrp            libshine          pcm_s16be_planar      tiff
avui            libspeex          pcm_s16le       truehd
ayuv            libsvt_av1        pcm_s16le_planar      tta
bmp           libsvt_hevc       pcm_s24be       utvideo
cinepak           libsvt_vp9        pcm_s24daud       v210
cljr            libtheora         pcm_s24le       v308
comfortnoise          libtwolame        pcm_s24le_planar      v408
dca           libvo_amrwbenc        pcm_s32be       v410
dnxhd           libvorbis         pcm_s32le       vc2
dpx           libvpx_vp8        pcm_s32le_planar      vorbis
dvbsub            libvpx_vp9        pcm_s64be       vp8_v4l2m2m
dvdsub            libwavpack        pcm_s64le       vp8_vaapi
dvvideo           libwebp         pcm_s8        vp9_vaapi
eac3            libwebp_anim        pcm_s8_planar     wavpack
ffv1            libx264         pcm_u16be       webvtt
ffvhuff           libx264rgb        pcm_u16le       wmav1
fits            libx265         pcm_u24be       wmav2
flac            libxavs         pcm_u24le       wmv1
flashsv           libxavs2          pcm_u32be       wmv2
flashsv2          libxvid         pcm_u32le       wrapped_avframe
flv           ljpeg         pcm_u8        xbm
g723_1            magicyuv          pcm_vidc        xface
gif           mjpeg         pcx         xsub
h261            mjpeg_qsv         pgm         xwd
h263            mjpeg_vaapi       pgmyuv        y41p
h263_v4l2m2m          mlp         png         yuv4
h263p           movtext         ppm         zlib
h264_nvenc          mp2         prores        zmbv
h264_omx          mp2fixed          prores_aw





Enabled hwaccels:
h263_vaapi          mjpeg_vaapi       mpeg2_xvmc        vp8_nvdec
h264_nvdec          mpeg1_nvdec       mpeg4_nvdec       vp8_vaapi
h264_vaapi          mpeg1_vdpau       mpeg4_vaapi       vp9_nvdec
h264_vdpau          mpeg1_xvmc        mpeg4_vdpau       vp9_vaapi
hevc_nvdec          mpeg2_nvdec       vc1_nvdec       wmv3_nvdec
hevc_vaapi          mpeg2_vaapi       vc1_vaapi       wmv3_vaapi
hevc_vdpau          mpeg2_vdpau       vc1_vdpau       wmv3_vdpau
 



Je devrais pas garder ffmpeg-full trop longtemps  à cause de cet bouze de pulseaudio hmm

Dernière modification par golgot200 (11-06-2019 21:08:34)

Hors ligne

#188 11-06-2019 21:11:05

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]


for i in encoders decoders filters; do     echo $i:; ffmpeg -hide_banner -${i} | egrep -i "npp|cuvid|nvenc|cuda|nvdec"; done
 




encoders:
 V..... h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc                NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_h264           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_hevc           NVIDIA NVENC hevc encoder (codec hevc)
 V..... hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)
decoders:
 V..... h264_cuvid           Nvidia CUVID H264 decoder (codec h264)
 V..... hevc_cuvid           Nvidia CUVID HEVC decoder (codec hevc)
 V..... mjpeg_cuvid          Nvidia CUVID MJPEG decoder (codec mjpeg)
 V..... mpeg1_cuvid          Nvidia CUVID MPEG1VIDEO decoder (codec mpeg1video)
 V..... mpeg2_cuvid          Nvidia CUVID MPEG2VIDEO decoder (codec mpeg2video)
 V..... mpeg4_cuvid          Nvidia CUVID MPEG4 decoder (codec mpeg4)
 V..... vc1_cuvid            Nvidia CUVID VC1 decoder (codec vc1)
 V..... vp8_cuvid            Nvidia CUVID VP8 decoder (codec vp8)
 V..... vp9_cuvid            Nvidia CUVID VP9 decoder (codec vp9)
filters:
 ... hwupload_cuda     V->V       Upload a system memory frame to a CUDA device.
 ... scale_cuda        V->V       GPU accelerated video resizer
 ... scale_npp         V->V       NVIDIA Performance Primitives video scaling and format conversion
 ... thumbnail_cuda    V->V       Select the most representative frame in a given sequence of consecutive frames.
 ... transpose_npp     V->V       NVIDIA Performance Primitives video transpose
 T.. yadif_cuda        V->V       Deinterlace CUDA frames
 

Hors ligne

#189 11-06-2019 21:23:58

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Une chose déjà qui fonctionne chez moi maintenant :

 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:0: Video: h264 (h264_nvenc) (Main), 1 reference frame (H264 / 0x34363248), cuda(left), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 2000 kb/s, 25 fps, 1k tbn, 25 tbc
 

Hors ligne

#190 11-06-2019 21:33:34

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

golgot200 a écrit :

Avec ça je devrais pouvoir faire quelques choses big_smile


Remarque pratiquement personne ne doit utiliser un ffmpeg compilé avec toutes
les options…


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#191 11-06-2019 22:19:27

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

enicar a écrit :

golgot200 a écrit :

Avec ça je devrais pouvoir faire quelques choses big_smile


Remarque pratiquement personne ne doit utiliser un ffmpeg compilé avec toutes
les options…




C'est vrai, mais celle qui me manquaient y sont maintenant :


fade
hwupload_cuda
scale_npp
 

Hors ligne

#192 13-06-2019 14:34:03

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Salut,
J'ai encore trouvé un changement à faire que je trouve sympa.
Au lieu de :


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



On peut faire plus simplement comme suit :


## CONDITION : UN SEUL DVD-VIDÉO

mapfile -t  BLKID < <(blkid /dev/sr* |sed -r 's/^([^:]+).*/\1/')

if [[ "${#BLKID[@]}" -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[0]}"
 


Ici, j'utilise un tableau dans lequel je récupère la liste
des /dev/sr* (grâce au « sed -r… »). Le nombre de dvd
présent est juste le nombre d'éléments du tableau « ${#BLKID[@]} »
(oui la syntaxe est peu bizarre, mais on s'y fait wink).
Finalement on récupère le seul élément du tableau qui est le premier
avec « ${BLKID[0] ».

J'ai testé chez moi, ça marche très bien. Il faut dire que je n'ai
qu'un seul lecteur de dvd… je pourrais en brancher un second pour
tester, mais j'ai un peu la flemme de d'ouvir le capot du pc pour ça.

Dernière modification par enicar (13-06-2019 14:35:43)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#193 13-06-2019 14:51:44

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

J'ai encore un autre changement à proposer, au lieu de :


TITLE=$(lsdvd "$DEVICE" | head -1 | awk '{print $3}')
 



On peut écrire :


TITLE=$(lsdvd "$DEVICE" | awk 'NR == 1 {print $3; exit}')
 


Pas besoin de head. On se sert de la variable NR de awk
qui nous donne le numéro de l'enregistrement en cours de traitement.
Ce n'est pas grand chose, mais on supprime quand même un tube.


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#194 13-06-2019 15:36:02

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Encore un proposition.
À la place de :


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[@]}"
}
 



Écrire :


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



J'ai rajouté les options « -noconfig all » et « -cache-min 0 » à
mplayer. Chez moi, ça permet de vraiment gagner 20 secondes sur
l'exécution de la commande. Ce n'est pas rien.

Et donc il faudrait rajouter ces deux options aux appels de
« mplayer -identify ».

Je me demande aussi si l'option -identify est bien nécessaire quand
extrait le .vob dans la commande :


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


ça me semble vraiment inutile dans ce cas.


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#195 13-06-2019 15:38:34

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Pour info chez moi l'encodeur h264_vaapi ne fonctionne pas. Ça ne m'étonne pas.
Ma carte vidéo est une carte intégrée sur la carte mère et elle est vraiment
vieille, comme ma machine.

Dernière modification par enicar (13-06-2019 19:55:30)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#196 14-06-2019 19:03:39

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Bonsoir enicar smile


enicar a écrit :

Salut,
J'ai encore trouvé un changement à faire que je trouve sympa.
Au lieu de :


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



On peut faire plus simplement comme suit :


## CONDITION : UN SEUL DVD-VIDÉO

mapfile -t  BLKID < <(blkid /dev/sr* |sed -r 's/^([^:]+).*/\1/')

if [[ "${#BLKID[@]}" -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[0]}"
 


Ici, j'utilise un tableau dans lequel je récupère la liste
des /dev/sr* (grâce au « sed -r… »). Le nombre de dvd
présent est juste le nombre d'éléments du tableau « ${#BLKID[@]} »
(oui la syntaxe est peu bizarre, mais on s'y fait wink).
Finalement on récupère le seul élément du tableau qui est le premier
avec « ${BLKID[0] ».

J'ai testé chez moi, ça marche très bien. Il faut dire que je n'ai
qu'un seul lecteur de dvd… je pourrais en brancher un second pour
tester, mais j'ai un peu la flemme de d'ouvir le capot du pc pour ça.



C'est OK wink



enicar a écrit :

J'ai encore un autre changement à proposer, au lieu de :


TITLE=$(lsdvd "$DEVICE" | head -1 | awk '{print $3}')
 



On peut écrire :


TITLE=$(lsdvd "$DEVICE" | awk 'NR == 1 {print $3; exit}')
 


Pas besoin de head. On se sert de la variable NR de awk
qui nous donne le numéro de l'enregistrement en cours de traitement.
Ce n'est pas grand chose, mais on supprime quand même un tube.



C'est modifié wink


Au post 194

C'est modifié wink
Mais pour les 20 secondes, rien de chez flagrant
Pour ce qui est d'indentify, je l'ai mis sans trop chercher sur une commande trouvée sur un forum.


enicar a écrit :

Pour info chez moi l'encodeur h264_vaapi ne fonctionne pas. Ça ne m'étonne pas.
Ma carte vidéo est une carte intégrée sur la carte mère et elle est vraiment
vieille, comme ma machine.



Je vais mettre une commande cpu "hors sujet" pour toutes les conditions.

Dernière modification par golgot200 (14-06-2019 19:12:24)

Hors ligne

#197 14-06-2019 19:05:24

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

Salut golgot200,
la semaine est finie, tu vas pouvoir geeker wink

Dernière modification par enicar (14-06-2019 19:11:32)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#198 14-06-2019 19:09:51

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

enicar a écrit :

Salut gogot200,
la semaine est finie, tu vas pouvoir geeker wink



gogot200 .... je sais pas mais golgot200 oui big_smile

Hors ligne

#199 14-06-2019 19:12:06

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Script Encodage VOB en MKV [GPU NVIDIA]

golgot200 a écrit :

enicar a écrit :

Salut gogot200,
la semaine est finie, tu vas pouvoir geeker wink



gogot200 .... je sais pas mais golgot200 oui big_smile



Arf… je me suis trompé… smile


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#200 14-06-2019 19:15:59

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Script Encodage VOB en MKV [GPU NVIDIA]

J'ai corrigé ça aussi :


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




pour:

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

Hors ligne

Pied de page des forums