Muszę przekonwertować niektóre pliki mp4 na inny format (wybrałem avi: może być lepszy, mile widziane sugestie). Próbowałem użyć ffmpeg, ale otrzymałem przestarzałą wiadomość, więc używam avconv, ale znowu może być lepsze narzędzie.
Oto, czego używam: avconv -i e2.mp4 -vtag libxvid -b:v 1500k e2.avi
To daje mi następujące dane wyjściowe:
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
Dostaję również plik e2.avi, który jest pusty. Nie korzystałem wcześniej z avconv - jaki byłby to właściwy sposób? W razie potrzeby mogę opublikować więcej szczegółów.
Z góry dziękuję!
man avconv
.Odpowiedzi:
Ponieważ AVI jest tylko kontenerem do przechowywania danych, najszybszym sposobem konwersji wideo jest po prostu skopiowanie już zakodowanego strumienia audio i wideo. Nie jest to domyślnie wykonywane. Aby wymusić kopiowanie strumieni, możemy użyć tej opcji
-c
w następujący sposób:Oczywiście w ten sposób można skopiować tylko kodowanie wideo obsługiwane przez kontener AVI.
Aby ponownie zakodować wyjściowy film, możemy go zastąpić
copy
dowolnym obsługiwanym kodekiem wymienionym na liścieE
od zźródło