다른 MP4 파일을 만드는 두 개 이상의 MP4 파일을 병합하거나 연결하려면 어떻게해야합니까? [복제]


14

최종 출력 MP4 파일에서 2 개 이상의 MP4 파일을 연결하거나 병합하려면 어떻게해야합니까?

DOS 창에서 COPY 명령을 사용하려고 시도했지만 (어딘가에 읽었습니다) 제대로 작동하지 않습니다.


자세한 내용 은 superuser.com/questions/43588/… 도 참조하십시오 . 그래도이 질문을 중복으로 분류할지 확실하지 않습니다.
획기적인

1
OS를 태그로 추가하십시오.
tumchaaditya

답변:


12

MP4Box가이를 수행 할 수 있지만 YAMB 또는 My MP4Box GUI 와 같은 GUI를 사용할 수 있습니다 . (NB : 개인적으로 프로그램 은 아닙니다 . 이름 일뿐입니다.) Windows 용 MP4Box 바이너리는 이 사이트 에서 구할 수 있습니다 .

예:

MP4Box -tmp $HOME -add vid.01.m4v \
    -cat vid.02.m4v -cat vid.03.m4v vid-out.mp4

4

Mac OS X, Linux 및 Windows 에서 사용할 수있는 ustd ffmpeg를 추천 합니다 .

다음은 두 영화를 연결하는 방법에 대한 좋은 예입니다. http://www.ffmpeg.org/faq.html#SEC27

마지막 단계에서는 결과 파일을 위해 MP4 컨테이너를 만들어야합니다.


ffmpeg FAQ 답변을 이해 했으므로 "권한있는 형식"중 하나가 아니기 때문에 MP4 (아마도 H.264) 비디오로는 수행 할 수 없습니다.
ttarchala

@ttarchala : 가능하다면 시도해 볼 것입니다. 이전에 FFmpeg를 사용하여 MP4로 변환했지만 두 영화를 연결하지 않았습니다. 또한 : FFmpeg는 매우 빠른 개발을 가지고 있다고 지적하고 싶습니다. 한 버전에서 작동하지 않은 것은 다음 버전에서만 작동 할 수 있습니다.
polemon

1
모든 FFMPEG 빌드가 MP4를 지원하는 것은 아닙니다 . 우선 특허 기술이며 미국에서 MP4 인코더를 유료로 배포하지 않는 것은 불법입니다. 그러나 많은 빌드가이를 수행 할 수 있습니다.
CarlF

@CarlF : Linux 및 Mac OS X의 경우 실제로 문제가되지 않습니다. 코드 자유롭게 배포 수 있으므로 기본적으로 자신의 FFmpeg를 작성하는 사람이면 누구나 좋습니다. 특허에 관해서는, 나는 의견을 공유하고 싶습니다 : 나는 지금 당장 사이트를 찾을 수 없지만 AAC (MPEG-4에 부분적으로 정의되어 있음)에 대해 만료되는 첫 번째 특허는 2022 년입니다. 첫 번째 것, 완전히 합법화 될 때까지 만료해야 할 것이 더 많습니다.
polemon

4

ffmpeg를 사용 하여이 작업을 시도 할 수 있습니다.

mkfifo temp0 temp1
ffmpeg -i input0.mp4 -c copy -bsf h264_mp4toannexb -f mpegts -y temp0 2> /dev/null & \
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb -f mpegts -y temp1 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4

이것은 다시 인코딩하지 않고 새로운 전송 스트림 컨테이너에 배치하여 연결하기가 더 쉽고 MP4로 다시 연결합니다. output.mp4가 이미 존재하면 명령이 실패합니다. 위의 버전은 명명 된 파이프를 사용하며 중간 파일을 사용해야하는 시스템을 지원하지 않는 시스템에 있습니다.

ffmpeg -i input0.mp4 -c copy -bsf h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -absf aac_adtstoasc output.mp4

그것이 h264가 아니라 mpeg4라면?
에디슨

2

업데이트 : 다른 답변을 읽은 후 avidemux를 설치했을 때 확인했습니다. 그것은 당신이 찾고있는 것입니다 (이름 때문에 MP4를 할 수 있다고 생각하지 않았습니다 ...).

나는 VirtualDubMod가 mp4 가능하다고 생각하지만, 그것을 사용하지는 않았으므로 확실합니다.

MeGUI 를 확인하십시오 . 다소 복잡하고 기능이 풍부한 앱 및 도구입니다.

컨테이너에 임베드하는 도구 (귀하의 경우 mp4)를 muxer라고하며 아마도 연결할 수는 없습니다.

VirtualDub와 함께 사용할 수 있습니다. 비디오 스트림을 연결하는 Virtualdub, 그리고 다시 인코딩하지 않고도 mp4로 다시 만드는 muxer.


1

ffmpeg를 사용하여 avi로 변환 한 후 mencoder로 수행하고 있습니다.

여기에 01.mp4 ... 15.mp4라는 15 개의 파일이 있다고 가정하면 간단한 스크립트가 있습니다.

#!/bin/bash
for j in `seq -w 1 15`;
do
    echo converting file $j.avi
    ffmpeg -i $j.mp4 $j.avi        

    echo adding file $j.avi to list
    z="$z $j.avi"
done 

echo doing append
mencoder -oac copy -ovc copy $z -o all.avi

건배


1

명령은 다음과 같습니다.

ffmpeg -i concat:"video1.ts|video2.ts"

파이프 문자를 이스케이프해야합니까? 아니면 그 명령을 완전히 잘못 읽고 있습니까?
킬러 미스트

탈출해야했습니다. 죄송합니다.
rogerdpack 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.