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