Tôi muốn hợp nhất hai hoặc nhiều tệp video (chúng có thể là hai hoặc hai 3gp, hoặc bất kỳ định dạng nào khác).Làm thế nào để concat hoặc hợp nhất hai hoặc nhiều tập tin video trong Android?
Trả lời
Công cụ chung nhất mà bạn có thể sử dụng là ffmpeg (như được ghi chú bởi @Jeremy ở trên), nhưng việc sử dụng nó trên điện thoại di động sẽ yêu cầu một số công việc; cũng là LGPL được cấp phép và một số bộ mã hóa của nó (đáng chú ý là x264) là GPL.
Một giải pháp đơn giản hơn, nếu cả hai tệp bạn muốn ghép đều sử dụng mã hóa tương tự và được chứa trong định dạng tệp bắt nguồn từ MP4 (3GP là như vậy), là sử dụng trình phân tích cú pháp MP4 thuần khiết và ghép nối các video mà không cần chạm vào chính luồng truyền thông. Hãy xem mp4parser, một trình phân tích cú pháp nguồn mở là pure-java, được cấp phép theo giấy phép Apache và thậm chí có một số example for concatenating videos trong wiki của nó.
, trình phân tích cú pháp mp4 hoạt động cho 2 tệp, nhưng nó không hoạt động đúng cho hơn 2 tệp, video không được hợp nhất đúng cách. là nó làm việc cho hơn 2 tập tin cùng một lúc? – Mahesh
@Mahesh hợp nhất hai tệp, sau đó hợp nhất tệp đã hợp nhất với tệp tiếp theo và tiếp tục như vậy? – Cheesebaron
@Cheesebaron Đây có phải là điều bạn đang nói không? –
Bạn có thể thử INDE Truyền thông for Mobile, hướng dẫn đang ở đây: https://software.intel.com/en-us/articles/intel-inde-media-pack-for-android-tutorials
Nó có chuyển mã \ chức năng remuxing trong lớp MediaComposer và khả năng tham gia phân khúc tập tin tập tin \. Vì nó sử dụng API MediaCodec bên trong mã hóa được thực hiện trên GPU nên rất thân thiện với pin và hoạt động nhanh nhất có thể.
Mẫu mã cho thấy làm thế nào để cho phép tham gia hoặc chức năng khác là trên github: https://github.com/INDExOS/media-for-mobile
- 1. Hợp nhất hai hoặc nhiều tệp .wav trong android
- 2. Cách hợp nhất hai hoặc nhiều luồng
- 3. Làm thế nào để có ID duy nhất trên hai hoặc nhiều bảng trong MySQL?
- 4. Làm thế nào để hợp nhất hai tập tin từng dòng trong Bash
- 5. Kết hợp hai (hoặc nhiều) PDF
- 6. Làm thế nào để concat hai (IO) Strings trong Haskell?
- 7. Cách kết hợp hai hoặc nhiều tệp gzip/luồng
- 8. Làm thế nào để concat hai char * trong C?
- 9. Làm thế nào để nối biến với chuỗi hoặc biến trong tập tin thực thi
- 10. Làm thế nào để "hợp nhất" hai URI trong Java?
- 11. làm thế nào để kiểm tra xem tập tin là hình ảnh hoặc loại video trong phiên bản php 5.2.9?
- 12. Android sdk cắt/cắt tập tin video
- 13. Làm thế nào để phù hợp với tất cả các tập tin nhưng một trong concat grunt?
- 14. làm thế nào để hợp nhất hai bảng trong postgresql
- 15. Làm cách nào để hợp nhất (hoặc nén) hai IEnumerables với nhau?
- 16. Để ngắt thư trong hai hoặc nhiều dòng trong JOptionPane
- 17. thủ hợp nhất hai tập tin sử dụng diff
- 18. Làm thế nào để đọc một BufferedReader hai lần hoặc nhiều lần?
- 19. Java, Runtime.exec hoặc ProcessBuilder: làm thế nào để biết nếu tập tin là vỏ hoặc nhị phân?
- 20. Làm thế nào để chạy mã php từ file_get_contents hoặc tập tin trong một chức năng
- 21. Làm thế nào để thay thế hai hoặc nhiều chuỗi với nhau?
- 22. Làm thế nào để biết một tập tin là một EXE hoặc một DLL?
- 23. Làm thế nào để băm một tập tin duy nhất nhiều cách cùng một lúc?
- 24. Làm thế nào để chơi tập tin 3gp trong Java?
- 25. Làm cách nào để bạn soạn hai hoặc nhiều vị từ trong clojure?
- 26. Làm thế nào để JsDoc nhiều thừa kế hoặc mixin?
- 27. Làm thế nào để kết hợp các dòng trong hai tập tin với điều kiện trong python?
- 28. Hợp nhất hai hoặc nhiều dự án studio trực quan vào một dự án
- 29. Làm thế nào để fstream hoạt động? Bộ nhớ hoặc tập tin?
- 30. Sử dụng CMake, làm thế nào tôi có thể concat tập tin và cài đặt chúng
ffmpeg là một thư viện lớn đối phó với chuyển đổi video và những gì không. Có một liên kết java nằm ở đây: http://code.google.com/p/jjmpeg/ – appnus
Tôi đã sử dụng FileInputSream để nhận các tệp srouce và sau đó SequenceInputStream (stream1, stream2) để kết hợp hai tệp, nhưng nó nghĩ rằng điều này không đúng cách làm việc với các tập tin video, android rơi xung quanh vấn đề rò rỉ bộ nhớ nếu kích thước heap kéo dài hơn 16MB – Mahesh