MP4 파일을 분할하는 가장 빠르고 가장 적은 리소스를 소비하는 방법은 무엇입니까?
ffmpeg를 시도했지만 오류가 발생했습니다.
$ 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
내가 뭘 잘못하고 있으며 어떻게 mp4 파일을 올바르게 분할합니까?
답변
ffmpeg를 사용하면 다음 명령을 사용하여 파일을 분할 할 수 있습니다.
ffmpeg -i ORIGINALFILE.mp4 -acodec copy -vcodec copy -ss START -t LENGTH OUTFILE.mp4
여기서 START는 초 단위로 또는 hh : mm : ss 형식으로 포지셔닝을 시작합니다. LENGTH는 청크 길이 (초) 또는 형식 hh : mm : ss입니다.
따라서 비디오 시간에 따라이 명령을 몇 번 실행해야합니다. 비디오의 길이가 31 분이고 15 분 단위로 분할하려는 경우 다음과 같이 실행하십시오.
ffmpeg -i ORIGINALFILE.mp4 -acodec copy -vcodec copy -ss 0 -t 00:15:00 OUTFILE-1.mp4
ffmpeg -i ORIGINALFILE.mp4 -acodec copy -vcodec copy -ss 00:15:00 -t 00:15:00 OUTFILE-2.mp4
ffmpeg -i ORIGINALFILE.mp4 -acodec copy -vcodec copy -ss 00:30:00 -t 00:15:00 OUTFILE-3.mp4
이것을 자동으로 수행하는 python 스크립트가 있습니다 (예 : 비디오 파일, 초 단위의 청크 크기 및 개별 재생 가능한 비디오 파일 생성) : http://icephoenix.us/notes-for-myself/auto-splitting-video ffmpeg-and-python /과 같은 파일에 동일한 청크
답변
GUI 사용을 선호하는 경우 리포지토리에서 avidemux를 사용할 수 있습니다. 이 방법으로 절단 점을 정의하는 것이 훨씬 쉽습니다!
선택 마커는 오디오에서 “복사”를 사용하여 내보낼 비디오의 일부를 정의하며 비디오는 재 인코딩을 피합니다. 컨테이너를 선택하거나 변경할 수도 있습니다 (avi, mp4, mkv 등).
나는 카메라에서 일부 비디오에 대한 많은 컷을했고 그것은 순간적이었다!
답변
필요한 것은 확실하지 않지만 터미널에 입력 할 수 있습니다. 터미널을 열려면 Ctrl+ Alt+를 누릅니다.T
split -b 4M file.mp4 part_file
파일이 4MB 단위로 분할됩니다. 파일을 다시 작성하려면 다음을 입력하십시오.
cat part_file[a-c] > file.mp4
예를 들어 설명하겠습니다.a-c
분할이 3 개의 파일을 작성했기 때문에 대괄호 안에 입력 한 것을 알 수 있습니다. 귀하의 경우 더 많은 것을보아야 할 수도 있습니다.
$ ls -lh
-rwxr-xr-x 1 root root 9.3M 2011-04-17 20:09 file.mp4
이것은 내가 9.3MB의 단일 파일을 가지고 있음을 보여줍니다. 분할하려면 다음을 입력하십시오.
$ split -b 2M file.mp4 part_file
분할 후 파일을 다음과 같이 얻습니다.
$ ls -lh
-rwxr-xr-x 1 root root 9.3M 2011-04-17 20:09 file.mp4
-rw-r--r-- 1 thetuxracer thetuxracer 2.0M 2011-04-17 20:12 part_fileaa
-rw-r--r-- 1 thetuxracer thetuxracer 2.0M 2011-04-17 20:12 part_fileab
-rw-r--r-- 1 thetuxracer thetuxracer 2.0M 2011-04-17 20:12 part_fileac
-rw-r--r-- 1 thetuxracer thetuxracer 2.0M 2011-04-17 20:12 part_filead
-rw-r--r-- 1 thetuxracer thetuxracer 1.3M 2011-04-17 20:12 part_fileae
파일 이름에 추가 된 두 문자를 확인하십시오.
파일을 다시 받으려면 :
$ cat part_filename[start-end][start-end] > file.mp4
답변
mkvtoolnix 패키지에서 mkvmerge를 사용하십시오. 같은 것을 사용하십시오
mkvmerge -o outputprefix --split 1G origfile.mp4
파일이 1GB 블록으로 분할됩니다. 시간 표시도 사용할 수 있습니다.
답변
이것이 MP4 파트 2 인 경우 매우 세심한 접근 방식을 사용하면 인코더 / 디코더없이 파일을 진행할 수 있습니다. 이 답변은 프로그래밍 배경과 “”손상되지 않은 “파일을 유지하려는 16 진수 편집기를 가진 사람들을위한 것입니다.
파일의 첫 번째 부분은 mdat이고, 두 번째 부분은 샘플을 포함하는 청크를 찾기 위해 디코더에서 사용하는 메타 데이터를 포함하는 moov입니다. 그리고 STCO, STTS, STSC 등이 있습니다. 이것을 “원자”라고합니다. 각 청크의 오프셋, 길이 등을 나타냅니다. 깨끗한 작업을 수행하면 비디오 인스턴스를 여러 개 만들고 다른 청크로 다른 버전을 만들 수 있습니다. 그런 다음 파일을 플레이어에서 재생할 수 있으며 비디오 웹 사이트에서 다이제스트됩니다. 코더 인 경우 MP4 파서를 작성하거나 기존 파서를 사용하여 부품 및 오프셋을 추적하십시오. 그러면 형식에 대해 더 많이 알고 파일을 자동으로 다시 작성하는 데 도움이됩니다.
답변
가장 쉽고 확실한 방법은 MP4Box를 사용하는 것입니다.
# apt install gpac
$ MP4Box -split 15 /home/asafche/Videos/myVideos/MAH00124.MP4
(매개 변수는 초 단위의 시간입니다). 다른 분할 가능성의 경우, 크기별로 예를 들어 볼 https://gpac.wp.imt.fr/mp4box/mp4box-documentation/ 또는MP4Box -h general
연결도 비슷합니다.
답변
비디오를 분할하고 더 많은 작업을 수행 할 수있는 또 다른 오픈 소스 GUI 도구 는 수동 브레이크입니다.
예를 들어, 여기에서 비디오를 24.53 (mm : ss)로 분할하고 오른쪽에서 프레임을 자릅니다.
“미리보기”버튼을 사용하면 출력 미리보기를 쉽게 볼 수 있습니다.