[ffmpeg] index des fichiers .MTS enregistrés sur caméscope

Applications multimedia / jeux
Avatar de l’utilisateur
rafmav
yeomen
Messages : 272
Inscription : mer. 11 mars 2009, 13:30

[ffmpeg] index des fichiers .MTS enregistrés sur caméscope

Message par rafmav »

Bonjour,
J'ai des vidéos encodés par camescope au format ".mts"; une fois récupérés, à la lecture, les index sont faux, du style 05:41:14.00 pour une vidéo de 00:18:33.57, comme ffmpeg l'a détecté: VLC ou Gnome mplayer ou etc ne détectent pas la durée, ce qui visiblement empèche de parcourir la vidéo en accèléré.
Quelle astuce gain de temps pour éviter de tout réencoder avec ffmeg ?

Voilà ce que je fais pour l'instant, qui n'est pas bien malin: ré-encoder, au même format...

Code : Tout sélectionner

$ ffmpeg -i 00023.MTS -vcodec h264 -acodec ac3 00023_.MTS
ffmpeg version 2.1.1 Copyright (c) 2000-2013 the FFmpeg developers
...  built on Dec 10 2013 06:36:11 with gcc 4.8.2 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --enable-avresample --enable-dxva2 --enable-fontconfig --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-pic --enable-postproc --enable-runtime-cpudetect --enable-shared --enable-swresample --enable-vdpau --enable-version3 --enable-x11grab
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libavresample   1.  1.  0 /  1.  1.  0
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mpegts, from '00023.MTS':
  Duration: 00:18:33.57, start: 1.040000, bitrate: 4707 kb/s
  Program 1 
    Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s
    Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080
File '00023_.MTS' already exists. Overwrite ? [y/N] y
[libx264 @ 0x1d6bb40] using SAR=1/1
[libx264 @ 0x1d6bb40] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
[libx264 @ 0x1d6bb40] profile High, level 4.0
Output #0, mpegts, to '00023_.MTS':
  Metadata:
    encoder         : Lavf55.19.104
    Stream #0:0: Video: h264 (libx264), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 90k tbn, 25 tbc
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libx264)
  Stream #0:1 -> #0:1 (ac3 -> ac3)
Press [q] to stop, [?] for help
frame=  689 fps=0.9 q=28.0 size=   31224kB time=00:00:27.03 bitrate=9461.5kbits/s 
(frame 689 car l'exemple ici n'est pas fini.

Merci pour vos idées.
#rmv$@f29£8µ1
Ma petite paresse me perdra...
Si vous ne voulez pas vous tromper, ne faites rien!
Impossible est impossible: est venue une personne qui ne savais pas que c'était impossible, et qui l'a fait!
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17569
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [ffmpeg] index des fichiers .MTS enregistrés sur camésco

Message par benjarobin »

Je crois que c'est normal, cela est du au format .MTS qui autorise de n'avoir aucun index, c'est un flux.
Mais sans ré-encoder, on ré-encapsule, tu peux faire :

Code : Tout sélectionner

ffmpeg -i 00023.MTS -vcodec copy -acodec copy 00023.mp4
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Répondre