Impossible de couper une partie de la vidéo avec ffmpeg

3

Ce que je veux faire

J'essaie de créer une vidéo pour un projet scientifique sous Ubuntu 11.10 avec le dernier fichier ffmpeg. J'ai également essayé Kino et avidemux, où la vidéo n'a même pas pu s'ouvrir correctement, même si elle fonctionne correctement dans VLC et mplayer.

Le plus proche que je suis venu jusqu'à présent est avec ces paramètres:

ffmpeg -ss 01:58 -t 21 -i row.avi -vcodec copy row_cut.avi

Aussi essayé

ffmpeg -ss 1 -i row.avi -vcodec copy -t 3 row_cut.avi

et ont toujours la même erreur :(

Où je reçois au moins une vidéo 21s en sortie et aucune erreur apparente, mais la vidéo ne sera pas lue dans VLC (ticker roll mais affiche uniquement le logo VLC) ni mplayer ("Erreur de flux de données interne").


FFmpeg sortie lors de l'encodage

ffmpeg version git-2012-02-02-c853124 Copyright (c) 2000-2012 the FFmpeg developers
built on Feb  2 2012 23:17:50 with gcc 4.6.1
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable --libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
 libavutil      51. 37.100 / 51. 37.100
 libavcodec     54.  0.102 / 54.  0.102
 libavformat    54.  0.100 / 54.  0.100
 libavdevice    53.  4.100 / 53.  4.100
 libavfilter     2. 61.100 /  2. 61.100
 libswscale      2.  1.100 /  2.  1.100
 libswresample   0.  6.100 /  0.  6.100
 libpostproc    52.  0.100 / 52.  0.100
Input #0, avi, from 'row.avi':
 Duration: 00:03:13.93, start: 0.000000, bitrate: 46210 kb/s
  Stream #0:0: Video: rawvideo, pal8, 640x300, 30 tbr, 30 tbn, 30 tbc
File 'row_cut.avi' already exists. Overwrite ? [y/N] y
Output #0, avi, to 'row_cut.avi':
 Metadata:
  ISFT            : Lavf54.0.100
  Stream #0:0: Video: rawvideo, pal8, 640x300, q=2-31, 30 tbn, 30 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=  631 fps=125 q=-1.0 Lsize=  118334kB time=00:00:21.03 bitrate=46088.4kbits/s    
video:118312kB audio:0kB global headers:0kB muxing overhead 0.018043%

Sortie FFmpeg lors du chargement des vidéos

Je suppose que la vidéo a un type de format étrange, comprend mal les paramètres de ffmpeg ou peut-être la partie Metada: encoder: Lavf53.3.0 dans la sortie?

user@computer:/somewhere$ ffmpeg -i row.avi
Input #0, avi, from 'row.avi':
 Duration: 00:03:13.93, start: 0.000000, bitrate: 46210 kb/s
  Stream #0.0: Video: rawvideo, pal8, 640x300, 30 tbr, 30 tbn, 30 tbc

et

user@computer:/somewhere$ ffmpeg -i row_cut.avi
Input #0, avi, from 'row_cut.avi':
 Metadata:
  encoder         : Lavf54.0.100
Duration: 00:00:21.03, start: 0.000000, bitrate: 46088 kb/s
 Stream #0.0: Video: rawvideo, bgr24, 640x300, 30 tbr, 30 tbn, 30 tbc

Sortie Mediainfo

General
Complete name                            : row.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
Format profile                           : OpenDML
File size                                : 1.04 GiB
Duration                                 : 3mn 13s
Overall bit rate                         : 46.2 Mbps

Video
ID                                       : 0
Format                                   : RGB
Codec ID                                 : 0x00000000
Codec ID/Info                            : Basic Windows bitmap format. 1, 4 and 8 bpp versions are palettised. 16, 24 and 32bpp contain raw RGB samples
Duration                                 : 3mn 13s
Bit rate                                 : 46.1 Mbps
Width                                    : 640 pixels
Height                                   : 300 pixels
Display aspect ratio                     : 2.2:1
Frame rate                               : 30.000 fps
Bit depth                                : 8 bits
Bits/(Pixel*Frame)                       : 8.000
Stream size                              : 1.04 GiB (100%)

et

General
Complete name                            : row_cut.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 116 MiB
Duration                                 : 21s 33ms
Overall bit rate                         : 46.1 Mbps
Writing application                      : Lavf54.0.100

Video
ID                                       : 0
Format                                   : RGB
Codec ID                                 : 0x00000000
Codec ID/Info                            : Basic Windows bitmap format. 1, 4 and 8 bpp versions are palettised. 16, 24 and 32bpp contain raw RGB samples
Duration                                 : 21s 33ms
Bit rate                                 : 46.1 Mbps
Width                                    : 640 pixels
Height                                   : 4294966 996 pixels
Display aspect ratio                     : 0.000
Frame rate                               : 30.000 fps
Bit depth                                : 8 bits
Stream size                              : 116 MiB (100%)
SlimJim
la source
Astuce: vous utilisez ffmpeg version 0.7.3. C'est vraiment vieux. Obtenez la dernière version, ils sont à 0.10 maintenant. Vous êtes sur Ubuntu, alors suivez ce tutoriel , il est assez simple et étape par étape avec tout ce qui est nécessaire. Essayez avec la nouvelle version et
faites un
Il est intéressant de noter que l’espace colorimétrique n’est pas écrit correctement dans le conteneur AVI. Pendant le codage, vous obtenez toujours pal8, lire le fichier en retour vous donne bgr24quelque chose qui ne va pas.
Slhck
x264 mis à jour et ffmpeg suivant le lien fourni, ont toujours le même problème :(
SlimJim
Pouvez-vous éditer votre message et mettre à jour la sortie? Pouvez-vous peut-être poster le fichier exemple quelque part pour que je le vérifie? Je vais y regarder.
Slhck
Utilisez mediainfo pour voir ce qu’il contient.
Barlop

Réponses:

3

Réponse de la liste de diffusion ffmpeg:

Vous ne pouvez pas utiliser -vcodec copy sur pal8 rawvideo (cela peut être un bogue), mais vous pouvez utiliser -vcodec rawvideo comme solution de contournement.

Cela fonctionne un peu dans VLC mais pas dans mplayer, donc ça ira pour le moment. La commande de travail finale serait

ffmpeg -ss 1 -i row.avi -vcodec rawvideo -t 3 row_cut.avi
SlimJim
la source