Próbowałem avidemux2_cli, mencoder, ffmpeg, cat .. Ale to nie zawsze działa (w większości przypadków błąd polega na tym, że kodek audio nie jest taki sam). Może wstawiłem złe opcje w poleceniach.
Więc polecenia:
cat Sample.avi rrr.avi > complete.avi
ffmpeg -i Sample.avi -i output.avi -vcodec copy -acodec copy complete.avi
mencoder -ovc lavc -oac copy Sample.avi rrr.avi -o complete.avi
avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi -append output.avi --save video.avi
Problem z kotem polega na tym, że nie wyświetla błędu, ale nie zawsze działa .. Podobnie jak w pliku complete.avi będzie dokładnie tak samo jak w przypadku Sample.avi
Fmmpeg nic nie robi. Kompletny.avi jest zawsze taki sam z Sample.avi
Błąd Mencodera: wszystkie pliki muszą mieć identyczny kodek audio i format dla kopii -oac. Tak więc plik complete.avi jest taki sam jak w przypadku Sample.avi
avidemux2_cli nie ma błędu, ale plik complete.avi jest ponownie taki sam jak w przypadku Sample.avi ..
Podsumowując, wszystkie complete.avi są takie same z Sample.avi .. Problem polega na tym, że nie mają tego samego kodeka audio (chyba). Jakieś pomysły?
mencoder
z opcją -ovc i opcją -oac. Zobacz: mplayerhq.hu/DOCS/HTML/en/menc-feat-selecting-codec.htmlOdpowiedzi:
Jeśli chcesz bezpiecznie połączyć dwa filmy, musisz zmienić kodek wideo i kodek audio plików wejściowych na te same kodeki.
Na przykład za pomocą xvid (kodek wideo) i mp3lame (kodek audio):
możesz kodować wejściowe filmy wideo za pomocą poniższych poleceń:
Aby dopasować swoje filmy, możesz zmienić opcje „bitrate” itp. (A także kodeki).
Jeśli zakodowane nazwy wideo to „video1.avi” i „video2.avi”, a wyjściowa nazwa wideo to „join-video.avi”,
Za pomocą tego polecenia możesz utworzyć połączony plik wideo.
źródło
mencoder
wzmocnię, że nazwa tego narzędzia to (np. Media ENcoder). Wiele osób utknęło przez przypadkowe wpisaniememcoder
.Musiałem połączyć trzy fragmenty wideo z identycznymi kodekami. Czytając poprzednie odpowiedzi udało mi się to zrobić:
O wiele szybszy i prostszy niż Openshot!
Najpierw wypróbowałem opcję „-oac copy”, ale wydaje się, że kodek audio w moich filmach na to nie pozwala. Otrzymałem komunikat o błędzie zalecający „-oac pcm”. Kodek pcm nie jest jednak dobrą opcją: plik wynikowy jest bardzo duży, a 2/3 to nieskompresowany dźwięk.
Mam nadzieję że to pomoże
źródło
Rozwiązanie, które tu znalazłem , pomogło mi dołączyć bez utraty dwa pliki mp4:
Próbowałem użyć Avidemux, ale miałem problemy z dźwiękiem w scalonym wideo.
źródło
Twoje pliki nie zostaną poprawnie połączone, ponieważ coś się nie zgadza.
Podobnie jak wiele innych, miałem problemy z prawidłową synchronizacją dźwięku w scalonych filmach. i chociaż MP4Box działa dobrze, jeśli klipy mają identyczne specyfikacje, w niektórych przypadkach zostałbym uderzony przez „Nie znaleziono odpowiedniej ścieżki docelowej - tworzenie nowej”, w którym to przypadku Totem (aka Wideo) nie odtwarzałby tego segmentu w połączonym pliku Po kilku próbach i błędach oraz dalszych badaniach opracowałem następującą metodę radzenia sobie z dołączaniem filmów, która do tej pory działała za każdym razem z akceptowalną (dla mnie) jakością.
Jeśli rozmiary ramek nie pasują (błędy łączenia dotyczące ścieżek wideo):
Normalizuj wideo bez zakłócania dźwięku (-c: kopia), ustawiając ograniczenia (podzielne przez 8 dla maksymalnej kompatybilności kodeka) dla niedopasowanych segmentów
Przykładowe polecenia
width=856
height=480
avconv -i input.mp4 -filter:v "scale=iw*min($width/iw\,$height/ih):ih*min($width/iw\,$height/ih), pad=$width:$height:($width-iw*min($width/iw\,$height/ih))/2:($height-ih*min($width/iw\,$height/ih))/2" -c:a copy output.mp4
Jeśli dźwięk nie pasuje (błędy łączenia dotyczące ścieżek audio):
Normalizuj dźwięk
Przetwarzaj dźwięk bez zakłócania wideo (kopiowanie c: v), tak aby wszystkie klipy pasowały do żądanego kodeka, częstotliwości i przepływności za pomocą c: kodeka - częstotliwość podobna do -ar 48000 oraz i przepływność z b: 128k dla stereo (64K na kanał wydaje się dobrym celem) lub cokolwiek innego.
Przykład:
avconv -i input.mp4 -c:v copy -c:a libmp3lame -ar 48000 b:a 128k output.mp4
(zauważ, że libmp3lame jest kodekiem dla audio MP3) Możesz uzyskać listę obsługiwanych koderów avconv, wydając polecenieavconv -codecs
lub zawęzić listę do określonego,avconv -codecs|grep *codecname*
na przykład zakodowanegoavconv -codecs|grep mp3
Teraz, gdy znormalizowaliśmy pliki, możemy do nich dołączyć. W tym przykładzie dołączę pliki za pomocą MP4Box. Jeśli go nie masz, możesz go uzyskać, wydając polecenie
sudo apt-get install gpac
Połącz pliki za pomocą polecenia
MP4Box file1.mp4 -cat file2.mp4 -cat file3.mp4 -cat file4.mp4 -out joinedfile.mp4
(zwróć uwagę, że przed pierwszym plikiem nie ma kota, a każdy dodatkowy plik jest poprzedzony -cat, a plik docelowy poprzedza -out)Jeśli do łączenia używasz MP4Box (zalecane dla MP4), możesz uznać, że musisz przetworzyć wszystkie klipy za pomocą avconv, czy specyfikacje wydają się pasować, czy nie, aby uniknąć błędu „Nie znaleziono odpowiedniej ścieżki docelowej - tworzenie nowej (type vide)”
Uwaga: Odkryłem, że Avidemux ma problemy z filmami zakodowanymi przy użyciu plików H.264 / AVC (na totem) z powodu ramek B jako odniesienia. Wydaje się, że powoduje to zsynchronizowanie dźwięku podczas dołączania, nawet jeśli zdecydujesz się skopiować zarówno audio, jak i wideo bez remuxu. Awarie, gdy nie wybrano trybu awaryjnego i brak synchronizacji w trybie awaryjnym
Źródła:
/superuser/547296/resizing-videos-with-ffmpeg-avconv-to-fit-into-static-sized-player
/programming/20703160/problems-with-setting-constant-bitrate-by-using-avconv
https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_cbr
Uwaga: O ile wiem, inne formaty (kontenery) mają podobne ograniczenia dotyczące dopasowania rozmiaru klatki i szybkości dźwięku, więc może to działać również w przypadku avi, jeśli spróbujesz połączyć się za pomocą kota lub mencodera po normalizacji wideo i audio .
Opcjonalnie: Użyj hamulca ręcznego, aby w razie potrzeby ponownie zakodować połączony plik w celu uzyskania mniejszego rozmiaru, ze zmienną szybkością klatek i stałym ustawieniem jakości 25 (sugerowane ustawienia - dostosuj odpowiednio do swoich potrzeb materiałowych i jakościowych)
źródło
Powinieneś wpisać w ten sposób:
Jeśli chcesz dołączyć więcej plików:
źródło
Byłem w stanie używać VLC Media Player do łączenia / łączenia wielu plików wideo. VLC można pobrać z oprogramowania Ubuntu lub można zainstalować z terminala, naciskając
Ctrl
+Alt
+T
i wpisując:Po zainstalowaniu VLC otwórz terminal w folderze z plikami wideo, a następnie wpisz:
To otwiera GUI VLC i możesz go zamknąć po połączeniu / scaleniu plików. Więcej informacji znajdziesz tutaj .
źródło