Edycja ścieżki dźwiękowej filmu w formacie mp4

0

Robię to w czterech krokach:

  • ekstrakcja ścieżki dźwiękowej - program AudioExtractor, szybkie
  • edycja ścieżki - program Audacity, zapisanie szybkie
  • ekstrakcja video - program ffmpeg, wolne
  • połączenie dżwięku i obrazu - program ffmpeg, wolne.
    Dwukrotnie wykonywana jest wolna operacja zapisywania przetworzonego filmu. Czy istnieje program (kombinacja programów), który robi to samo, ale zapisuje film tylko raz.
0

Wydaje mi się, że rekompresujesz video, czego nie powinieneś robić jeśli zmieniasz tylko ścieżkę audio.

Powinno się to dać dwoma uruchomieniami ffmpeg:

  1. ffmpeg: wyciągnięcie audio z jednoczesną dekompresją do PCM w formacie wav
  2. edycja w Audacity i eksport do nowego wav
  3. ffmpeg: połaczenie obrazu z oryginalnego pliku (kodekiem "copy") z dźwiękiem z punktu drugiego i jednoczesnym zakodowaniem dźwięku do AAC.
0

Sprawdzę jutro (a raczej dzisiaj ale za parę godzin). Mam wątpliwości czy ścieżka nie będzie połączeniem oryginalnego audio z edytowanym.

0

Jakim cudem :-)
Tak to nie działa; można co najwyżej umieścić dwa strumienie audio w jednym filmie i będą do wyboru, ale nie jednocześnie - chyba że wyraźnie się o to postaramy.

Wszystko zależy od parametrów podanych do ffmpeg, co ma zrobić z dźwiękiem a co z obrazem.

1

Ffmpeg ma opcję -map, możesz podmienić ścieżkę audio w pliku na nową. O ile robisz to bez rekompresji (copy) to jest to szybkie.

0

@Azarien, żaden cud nie jest potrzebny, Po poleceniu

ffmpeg -i a.mp4 -i b.mp3 c.mp4

plik c.mp4 zawiera ścieżki dźwiękowe z a.mp4 i b.mp3.

0

@Uczynny Karp dzięki, podmiana ścieżki audio poleceniem

ffmpeg -i a.mp4 -i b.mp3 -c copy -map 0:0 -map 1 c.mp4

działa błyskawicznie.
(Aż uruchomiłem Chrome na laptopie - jedyna przeglądarka, na której mogę akceptować odpowiedzi)

1
ffmpeg -i source.mp4 -vcodec none -acodec pcm_s16le sound.wav

mieszamy z dźwiękiem...

ffmpeg -i source.mp4 -i sound2.wav -map 0:0 -map 1:0 -vcodec copy -acodec aac destination.mp4 
0

Ten sposób jest równie szybki (u mnie koder aac nie działa, musiałem użyć libvo_aacenc).

0

@bogdans Wszystko da się załatwić jednym poleceniem. Ffmpeg otwiera plik źródłowy mp4 i konwertuje jego ścieżkę dźwiękową do wymaganego przez ciebie formatu, ale zamiast wyjścia do pliku robisz pipe'a i podajesz output znów do ffmpeg, który podmienia ścieżkę w oryginalnym pliku, tak jak napisałeś powyżej.

Warunek: musi to być Linux.

1 użytkowników online, w tym zalogowanych: 0, gości: 1