2013-04-09 19 views
5

Próbuję połączyć dwa filmy nagrane na iPhonie w jednym pliku za pomocą ffmpeg.ffmpeg, aby połączyć dwa pliki mov z iPhone'a

Próbowałem wszystkiego, co mogłem znaleźć i nie udało mi się uzyskać żadnych poprawnych wyników.

Moja obecna linia jest

ffmpeg -i 'concat:output.mov|capturedvideo.MOV' -vcodec copy -acodec copy output2.mov 

ten obecnie nie zadziała. Wynik końcowy należy odtwarzać na telefonie iPhone.

+2

Nawiasem mówiąc, superuser.com może być lepszym forum dla tego typu pytań. – Krumelur

Odpowiedz

7

Ponieważ nie transkoduje, nie można łączyć dwóch kontenerów mp4. Zobacz this page.

W istocie, trzeba konwertować pliki (bez transkodowania) do strumieni transportowych MPEG:

ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts 
ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts 
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4 

Musisz najnowszą wersję ffmpeg. Wypróbuj sudo apt-get update; sudo apt-get install ffmpeg (na systemie Ubuntu Linux) lub brew update; brew install ffmpeg (na Mac OS X)

+0

Dzięki za tonę. Spróbuję tego za chwilę. Czy to ma znaczenie, czy nie są MP4? –

+1

@JasonStallings Link sugeruje ponowne moksowanie, jeśli używasz [protokołu concat] (http://ffmpeg.org/ffmpeg-protocols.html#concat). Ten sam link ma przykład dla [konkatatywnego demuxera] (http://ffmpeg.org/ffmpeg-formats.html#concat-1), który nie wymaga dodatkowego kroku. – LordNeckbeard

+1

mam opcję Nierozpoznany „c” :( Wtedy kiedy wyjąć go uzyskać Nierozpoznany opcję „BSF: v To zły znak prawda –