Jestem w stanie przekonwertować mp4 na mp3 w ffmpeg, ale nie jestem pewien, jak dodałbym miniaturę wideo.
Obecnie mają to do konwersji z MP4 na MP3
ffmpeg -i video.mp4 -acodec libmp3lame -metadata title=video -b:a 256 -f input.mp3
Czy musiałbym wtedy uruchomić to polecenie ffmpeg za pomocą tego polecenia?
ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3
czy jest jakiś sposób na użycie złożonych filtrów, aby osiągnąć ten jeden przebieg?
Wiem, że to działa na FLV, ale wydaje się, że nie działa na mp4
ffmpeg -i video.flv -i cover.jpg -map 0:a -map 1 -c:v copy -metadata title=video -b:a 256k out.mp3
Odpowiedzi:
Lepsza odpowiedź z wyjaśnieniem, zawierająca inteligentne sugestie slhck i Mulvya, pozbawiona nieistotnych parametrów.
ffmpeg
narzędzie do manipulacji audio / wideo: już wybrane przez OP, jest szczególnie odpowiednie do tego zadania.-i video.mp4
pierwszy plik wejściowy: wideo z dźwiękiem, który chcemy wyodrębnić.-i cover.jpg
drugi plik wejściowy, obraz, który chcemy wyświetlić podczas odtwarzania wynikowego pliku audio.-acodec libmp3lame
chcemy utworzyć plik .mp3, używając kodera LAME.-b:a 256k
ustawia to bitrate dla ścieżki audio na stałą 256Kb / s. Mądrzejszą opcją byłoby kodowanie ze zmienną przepływnością, określając parametr jakości :-q:a 0
prosi o maksymalną jakość, a-q:a 4
często stanowi dobry kompromis między postrzeganą jakością dźwięku a przepływnością (a zatem i wielkością pliku).-c:v copy
oznacza to, że strumienia wideo (obrazu .jpg) nie należy ponownie kodować, ale należy go skopiować. Jest to przydatne, aby uniknąć niepotrzebnego przetwarzania i potencjalnej utraty jakości podczas ponownego kodowania do formatu stratnego. W naszym przypadku bez tego parametru obraz zostałby zdekodowany z .jpg i zakodowany do .png, który najwyraźniej jest rodzimym formatem wybieranym domyślnie. Nie oznaczałoby to utraty jakości, ponieważ .png jest stratny, ale najczęściej powoduje wzrost rozmiaru pliku, z uwagi na fakt, że .jpg (stratny) ogólnie oferuje lepszy współczynnik kompresji.-map 0:a:0
wybiera strumień, który ma być użyty z pierwszego (0:
) pliku wejściowego: musi to być pierwszy:0
(a
) strumień audio ( ), który zawiera.-map 1:v:0
wybiera pierwszy strumień:0
wideo (v
) z drugiego1:
pliku wejściowego.output.mp3
nazwa tego parametru została sprytnie wybrana, aby już zasugerować, że musi to być nazwa wyjściowego pliku audio (.mp3) z dołączonym obrazem, który chcemy utworzyć.Oryginalna odpowiedź
Spowoduje to utworzenie pliku audio (.mp3) ze statycznym obrazem poprzez połączenie wideo (.mp4) i obrazu (.jpg) z mojego ślubu:
Zobacz dokumentację ffmpeg na temat wybierania strumieni wejściowych za pomocą
-map
, która jest odpowiednią opcją tutaj.Najpierw uruchomiłem komendę po prostu
-map 0 -map 1
i otrzymałem te informacje:Tak więc wiedziałem, że chcę strumień
1
(audio AAC) z pliku, który ma numer indeksu0
, tj. Plik wideo; dlatego musiał zostać wyraźnie wybrany za pomocą-map 0:1 -map 1
.źródło
Stream map '0:1' matches no streams. To ignore this, add a trailing '?' to the map.
Stream mapping:
Stream #0:0 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Stream #1:0 -> #0:1 (mjpeg (native) -> png (native))
-map 0:a:0 -map 1:v:0
aby wybrać pierwszy strumień audio i wideo odpowiednio pierwszego i drugiego pliku.-c:v copy
.możesz skorzystać z odtwarzacza multimedialnego VLC -
Krok 1: Otwórz VLC i wybierz „Media”. Kliknij konwertuj / zapisz.
Krok 2: W następnym oknie, które się pojawi, wybierz „dodaj” i wybierz plik wideo (MP4) do konwersji.
Krok 3: Następnie kliknij strzałkę w dół na „Konwertuj / Zapisz”, a następnie kliknij „Konwertuj”.
Krok 4: W następnym oknie, które się pojawi, upewnij się, że jest wybrany przycisk „Konwertuj”. Kontynuuj, aby wybrać typ pliku audio, który chcesz utworzyć. W naszym przypadku konwertujemy plik MP3.
Krok 5: Wybierz miejsce docelowe wydruku, a następnie naciśnij „Start”. VLC rozpocznie konwersję.
w celu dodania miniatury możesz skorzystać z tego linku (bardzo dobrze wyjaśnione).
źródło