Come posso convertire i miei file mp4 in avi usando avconv?


8

Devo convertire alcuni file mp4 in un altro formato (ho scelto avi: potrebbe essercene uno migliore, suggerimenti ben accetti). Ho provato ad usare ffmpeg ma ho ricevuto il messaggio obsoleto, quindi sto usando avconv, ma di nuovo potrebbe esserci uno strumento migliore.

Ecco cosa sto usando: avconv -i e2.mp4 -vtag libxvid -b:v 1500k e2.avi

Questo mi dà il seguente output:

avconv version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
  built on Nov  9 2013 19:09:46 with gcc 4.8.1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1c677a0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'e2.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf53.21.1
    media_type      : 10
    copyright       : � 2014 British Broadcasting Corporation, all rights reserved
    title           : Episode 2
    artist          : BBC Four
    album_artist    : BBC TV
    album           : The Bridge: Series 2
    composer        : BBC iPlayer
    genre           : Drama
    comment         : Online, four individuals in masks use signs to claim responsibility for the plague.
    date            : 2014-01-04T22:00:00Z
    track           : 2
    disc            : 2
    description     : Online, four individuals in masks use signs to claim responsibility for the plague.
    show            : The Bridge: Series 2
    episode_id      : s02e02
    season_number   : 2
    episode_sort    : 2
    network         : BBC Four
  Duration: 00:57:38.16, start: 0.000000, bitrate: 2399 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 2298 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
    Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 93 kb/s
[buffer @ 0x1c69260] w:1280 h:720 pixfmt:yuv420p
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
[ac3 @ 0x1c2a160] invalid bit rate
Output #0, avi, to 'e2.avi':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf53.21.1
    media_type      : 10
    copyright       : � 2014 British Broadcasting Corporation, all rights reserved
    title           : Episode 2
    artist          : BBC Four
    album_artist    : BBC TV
    album           : The Bridge: Series 2
    composer        : BBC iPlayer
    genre           : Drama
    comment         : Online, four individuals in masks use signs to claim responsibility for the plague.
    date            : 2014-01-04T22:00:00Z
    track           : 2
    disc            : 2
    description     : Online, four individuals in masks use signs to claim responsibility for the plague.
    show            : The Bridge: Series 2
    episode_id      : s02e02
    season_number   : 2
    episode_sort    : 2
    network         : BBC Four
    Stream #0.0(und): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 1500 kb/s, 90k tbn, 25 tbc
    Stream #0.1(und): Audio: ac3, 48000 Hz, stereo, flt, 200 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg4)
  Stream #0:1 -> #0:1 (aac -> ac3)
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height

Ottengo anche un file e2.avi che è vuoto. Non ho mai usato avconv prima: quale sarebbe il modo corretto di farlo? Posso pubblicare ulteriori dettagli se necessario.

Grazie in anticipo!


Ti dice "Formato campione incompatibile 's16' per codec 'ac3', formato di selezione automatica 'flt'" ed "Errore durante l'apertura dell'encoder per il flusso di output # 0: 1 - forse parametri errati come bit_rate, rate, width o altezza". il che significa che ha capito il tuo file di input, ma non è stato possibile impostare il file di output. Leggi man avconv.
Waltinator,

Risposte:


8

Poiché AVI è solo un contenitore per conservare i tuoi dati, il modo più veloce per convertire i tuoi video è semplicemente copiare il flusso audio e video già codificato. Questo non è fatto di default. Per forzare i flussi di copia possiamo usare l'opzione -ccome segue:

avconv -i infile.mp4 -c:a copy -c:v copy outfile.avi

Naturalmente solo una codifica video supportata dal contenitore AVI può essere copiata in questo modo.

Per ricodificare il video di output, possiamo sostituirlo copycon uno qualsiasi dei codec supportati come elencato con un Eda

avconv -codecs
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.