Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/11/2019, à 15:44

Jarodd

[Résolu] Conversion ts -> mp4, différence de poids entre VLC et ffmpeg

Bonjour,

J'ai plusieurs fichiers vidéo .ts que je souhaite convertir en mp4 pour pouvoir les lire avec la Livebox.
J'ai d'abord fait une simple conversion avec ffmpeg :

ffmpeg -i input.ts -acodec copy -vcodec copy out.mp4

Si le .ts fait 176 Mo, le mp4 généré fait 168 Mo. Cela me paraît acceptable vu qu'il n'y a pas de modification de la vidéo ni du son.

Puis j'ai tenté la conversion avec VLC (en passant par Convertir/Enregistrer), j'ai sélectionné le format de sortie mp4 avec les codecs H.264 + MP3.
Et là surprise, les fichiers soit moitié moins lourds !
Sur le même exemple, le mp4 fait 83 Mo.

D'où vient cette différence ? Les deux mp4 sont bien lisibles (j'ai testé avec Totem pour avoir un lecteur "neutre"). La qualité est bien le même, les vidéos sont complètes, il n'y a pas de décalage.

Comment expliquer cette différence ? Pour moi ffmpeg est un peu le logiciel de référence pour manipuler des vidéos. Comment fait VLC pour avoir un fichier équivalent mais moins lourd ? Y qa-t-il un lmoup quelque part, que je n'aurais pas vu ?

Merci pour vos réponses.

Dernière modification par Jarodd (Le 28/11/2019, à 22:55)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#2 Le 26/11/2019, à 16:41

Nasman

Re : [Résolu] Conversion ts -> mp4, différence de poids entre VLC et ffmpeg

Quels sont les codecs de la vidéo initiale ?
Je suppose que le mp4 autorise plusieurs codecs audio et vidéo, la première conversion n'a changé que le mode d'encapsulation alors que la seconde a transcodé l'un des flux.

Je pense que le flux vidéo de la source ne devait pas être en h264 mais avec un codec moins performant.

Dernière modification par Nasman (Le 26/11/2019, à 16:44)


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#3 Le 26/11/2019, à 16:54

Jarodd

Re : [Résolu] Conversion ts -> mp4, différence de poids entre VLC et ffmpeg

Un ffmpeg -i sur le fichier ts me donne ceci :

ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mpegts, from 'video.ts':
  Duration: 00:10:55.92, start: 10.000000, bitrate: 2148 kb/s
  Program 16727 
    Stream #0:0[0x22](qad): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 90 kb/s
    Stream #0:1[0x21]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
At least one output file must be specified

Est-ce que cela répond à ta question ? big_smile


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#4 Le 26/11/2019, à 17:09

Nasman

Re : [Résolu] Conversion ts -> mp4, différence de poids entre VLC et ffmpeg

Et quels sont les résultats sur les deux vidéos mp4 ?
Ici on voit que le codec vidéo était déjà en h264 avec une définition 1280x720. A-t-on la même définition avec les fichiers transformés.

Nota : il y a aussi la transformation de l'audio aac-> mp3 mais je ne pense pas que l'audio représente le poids le plus fort


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#5 Le 26/11/2019, à 17:12

Jarodd

Re : [Résolu] Conversion ts -> mp4, différence de poids entre VLC et ffmpeg

ffmpeg -i pour le mp4 généré avec ffmpeg :

ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:10:50.16, start: 0.000000, bitrate: 2076 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1976 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(qad): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified

Pour le fichier mp4 généré avec la conversion VLC :

ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video_vlc.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: mp41avc1
    creation_time   : 2019-11-26T14:33:38.000000Z
    encoder         : vlc 3.0.8 stream output
    encoder-eng     : vlc 3.0.8 stream output
  Duration: 00:10:55.64, start: 0.000000, bitrate: 1018 kb/s
    Stream #0:0(eng): Audio: mp3 (mp4a / 0x6134706D), 44100 Hz, stereo, s16p, 127 kb/s (default)
    Metadata:
      creation_time   : 2019-11-26T14:33:38.000000Z
      handler_name    : SoundHandler
    Stream #0:1(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 883 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2019-11-26T14:33:38.000000Z
      handler_name    : VideoHandler
At least one output file must be specified

Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#6 Le 26/11/2019, à 17:18

Nasman

Re : [Résolu] Conversion ts -> mp4, différence de poids entre VLC et ffmpeg

Je vois que les bitrate sont différents (un facteur 2) ce qui semble en rapport avec les taille des fichiers générés.
Après je ne suis pas suffisamment spécialiste pour t'aider davantage.


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#7 Le 27/11/2019, à 07:43

Jarodd

Re : [Résolu] Conversion ts -> mp4, différence de poids entre VLC et ffmpeg

Ok d'après ce que je comprends, plus le bitrate (débit) de la vidéo est élevé, meilleure sera la qualité. Je pensais que la résolution définissait la qualiuté, visiblement pas.
Il faudrait que je teste les deux fichiers sur plusieurs tv (récentes ou vieilles) pour peut-être voir une différence. Peut-être que ça sera invisible à l'oeil nu, et que je devrais conserver uniquement le plus petit fichier.
Merci Nasman pour ton aide.


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#8 Le 30/11/2019, à 21:02

Jarodd

Re : [Résolu] Conversion ts -> mp4, différence de poids entre VLC et ffmpeg

Tu connais un convertisseur vidéo professionnel disponible sous Ubuntu ?


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne