Jaka jest najszybsza i najmniej zasobochłonna metoda dzielenia pliku MP4?
Próbowałem ffmpeg, ale wystąpił błąd:
$ ffmpeg -vcodec copy -ss 0 -t 00:10:00 -i /home/asafche/Videos/myVideos/MAH00124.MP4 /home/asafche/Videos/myVideos/eh.mp4
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.1-1ubuntu1.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 31 2011 18:53:20, gcc: 4.4.3
Seems stream 0 codec frame rate differs from container frame rate: 119.88 (120000/1001) -> 59.94 (60000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/asafche/Videos/myVideos/MAH00124.MP4':
Duration: 00:15:35.96, start: 0.000000, bitrate: 5664 kb/s
Stream #0.0(und): Video: h264, yuv420p, 1280x720, 59.94 tbr, 59.94 tbn, 119.88 tbc
Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16
Output #0, mp4, to '/home/asafche/Videos/myVideos/eh.mp4':
Stream #0.0(und): Video: libx264, yuv420p, 1280x720, q=2-31, 90k tbn, 59.94 tbc
Stream #0.1(und): Audio: 0x0000, 48000 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1
Co robię źle i jak prawidłowo podzielić plik MP4?
video
file-format
Asaf Chertkoff
źródło
źródło
Odpowiedzi:
Za pomocą ffmpeg możesz podzielić plik za pomocą następującego polecenia:
gdzie START zaczyna pozycjonowanie w sekundach lub w formacie gg: mm: ss DŁUGOŚĆ to długość porcji w sekundach lub w formacie gg: mm: ss
Będziesz musiał uruchomić to polecenie kilka razy, w zależności od długości filmu. Jeśli powiedzmy, że Twój film ma 31 minut i chcesz go podzielić na 15-minutowe fragmenty, oto jak go uruchamiasz:
Istnieje skrypt Pythona, którego można użyć automatycznie (np. Pobiera plik wideo, wielkość porcji w kilka sekund i generuje pojedyncze odtwarzane pliki wideo): http://icephoenix.us/notes-for-myself/auto-splitting-video -plik-w-równych-porcjach-z-ffmpeg-and-python /
źródło
Jeśli wolisz korzystać z GUI, avidemux jest dostępny w repozytoriach. W ten sposób definiowanie punktów cięcia jest znacznie łatwiejsze!
Znaczniki wyboru określają część wideo, która zostanie wyeksportowana, użycie „kopiuj” w dźwięku i wideo pozwala uniknąć ponownego kodowania. Możesz również wybrać kontener lub zmienić go (avi, mp4, mkv itp.).
Zrobiłem kilka cięć na niektórych filmach z kamery i było to natychmiastowe!
źródło
Nie wiesz, czego potrzebujesz, ale możesz wpisać to w terminalu: Aby otworzyć terminal, naciśnij Ctrl + Alt+T
split -b 4M file.mp4 part_file
Spowoduje to podzielenie plików na fragmenty o wielkości 4 megabajtów. Aby ponownie utworzyć plik, wpisz
cat part_file[a-c] > file.mp4
Zauważ, że wpisałemWyjaśnię na przykładzie.a-c
w nawiasie, ponieważ podział utworzył 3 pliki. w twoim przypadku być może będziesz musiał zobaczyć więcej.To pokazuje, że mam jeden plik, 9,3 MB. Aby podzielić, piszę:
Po podzieleniu otrzymuję pliki jako:
Zwróć uwagę na dwa znaki dołączone do nazwy pliku.
Aby odzyskać plik:
źródło
Użyj mkvmerge z pakietu mkvtoolnix. Użyj czegoś takiego
To podzieli Twój plik na bloki 1 GB. Możesz także użyć wskazań czasu.
źródło
Jeśli jest to MP4 część 2, to przy bardzo skrupulatnym podejściu możesz kontynuować plik bez kodera / dekodera. Ta odpowiedź jest przeznaczona dla osób z wykształceniem programistycznym i edytorem szesnastkowym, które chcą zachować plik „nienaruszony”.
Pierwsza część pliku to mdat, druga to moov, zawierający metadane używane przez dekoder do lokalizowania fragmentów, które zawierają próbki (zakodowane obrazy i dźwięk, o których nie warto wiedzieć). Są też STCO, STTS, STSC itp. Nazywa się to „atomami”. Wskazują, jakie jest przesunięcie, długość itp. Każdej z części. Jeśli wykonasz czystą robotę, możesz zrobić kilka wystąpień swojego filmu i inną wersję z różnymi fragmentami. Plik będzie następnie odtwarzany w odtwarzaczach i przetwarzany na stronach wideo. Jeśli jesteś programistą, zbuduj parser MP4 lub użyj istniejącego, aby śledzić części i ich przesunięcia. Pomoże Ci to dowiedzieć się więcej o tym formacie i automatycznie odbudować pliki.
źródło
Najłatwiejszą i niezawodną metodą jest użycie MP4Box:
# apt install gpac
$ MP4Box -split 15 /home/asafche/Videos/myVideos/MAH00124.MP4
(parametrem jest czas w sekundach). Inne możliwości podziału, na przykład według wielkości, patrz https://gpac.wp.imt.fr/mp4box/mp4box-documentation/ lubMP4Box -h general
Łączenie jest podobnie proste.
źródło
Innym narzędziem GUI typu open source , które może dzielić filmy i robić znacznie więcej, jest hamulec ręczny
Na przykład tutaj dzielę wideo na 24,53 (mm: ss), a także kadruję ramkę po prawej stronie:
Możesz łatwo wyświetlić podgląd danych wyjściowych - za pomocą przycisku „Podgląd”.
źródło