2013-04-09 17 views
5

Tôi đang cố kết hợp hai video được ghi trên iPhone vào một tệp có ffmpeg.ffmpeg để kết hợp hai tệp mov từ iPhone

Tôi đã thử mọi thứ tôi có thể tìm thấy và tôi không thể làm được gì để làm việc đúng.

dòng hiện tại của tôi là

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

này hiện sẽ không hoạt động. Kết quả cuối cùng cần phải được phát trên iPhone.

+2

Bằng cách này, superuser.com có ​​thể là diễn đàn tốt hơn cho các loại câu hỏi này. – Krumelur

Trả lời

7

Vì bạn không chuyển mã, bạn không thể nối hai thùng chứa mp4 giống như vậy. Xem this page.

Về bản chất, bạn phải chuyển đổi các tập tin (không chuyển mã) để dòng truyền tải 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 

Bạn sẽ cần một phiên bản mới của ffmpeg. Hãy thử sudo apt-get update; sudo apt-get install ffmpeg (trên Ubuntu Linux) hoặc brew update; brew install ffmpeg (trên Mac OS X)

+0

Cảm ơn một tấn. Tôi sẽ thử điều này trong một giây. Có vấn đề gì nếu chúng không phải là mp4? –

+1

@JasonStallings Liên kết đề xuất tái chuyển đổi nếu bạn đang sử dụng [giao thức concat] (http://ffmpeg.org/ffmpeg-protocols.html#concat). Cùng một liên kết có một ví dụ cho [concat demuxer] (http://ffmpeg.org/ffmpeg-formats.html#concat-1) mà sẽ không yêu cầu bước bổ sung. – LordNeckbeard

+1

Tôi nhận được tùy chọn không được công nhận 'c': ( Sau đó, khi tôi xóa, tôi nhận được tùy chọn không được công nhận 'bsf: v Đây là một dấu hiệu xấu phải không? –