2014-12-03 16 views
5

Tôi muốn thêm đối tượng địa lý nơi người dùng có thể quay video của trò chơi mà họ đang chơi. Làm thế nào để tôi làm điều này?Làm cách nào để bạn ghi lại "trò chơi" (PyGame hoặc Tk) vào một video?

+1

Tôi cho rằng pygame và tk không cung cấp các thuật toán, bạn cần tạo ra một lượng lớn dữ liệu hình ảnh mỗi giây. Tuy nhiên, đối với các hệ thống Linux có một mô-đun máy ảnh được tích hợp trong PyGame, điều này có thể, với một chút khó khăn, phù hợp với nhu cầu của bạn: http://www.pygame.org/docs/ref/camera.html –

+0

@PatricHartmann - Ảnh chụp của nó hình ảnh phải không? Tôi cho rằng tôi có thể kết hợp những hình ảnh này để xem video. Bất kỳ suy nghĩ nào về cách tôi có thể thêm âm thanh vào video? (Nó không được xác định trước và thay đổi dựa trên đầu vào của người dùng, như tăng tốc hoặc phanh xe) – rohithpr

+0

Vấn đề là tốc độ đầu ra hình ảnh của nó. Bạn sẽ giảm một vài hình ảnh mỗi giây. –

Trả lời

2

Tôi chưa thực hiện giải pháp cho vấn đề cụ thể này, nhưng tôi sẽ cố gắng đề xuất một vấn đề. Tất nhiên, bất kỳ giải pháp nào cũng sẽ làm chậm chương trình của bạn về mặt kỹ thuật, nhưng về mặt kỹ thuật thì điều đó là có thể. Vì vậy, những gì có lẽ là giá trị cố gắng, mà bạn có thể sử dụng pygame.image.tostring() trên bạn khung hiện tại, sau đó chỉ cần viết (nối thêm) mỗi khung vào một tập tin. Vì vậy, đó sẽ thực sự là video của bạn ở định dạng thô. Bây giờ nếu bạn muốn một số định dạng video cụ thể, bạn chỉ nên chuyển đổi nó, cách tốt nhất là sử dụng ffmpeg (bạn có thể gọi nó trước khi thoát trò chơi với các thông số nhất định từ trò chơi của bạn với subprocess.Popen("ffmpeg ...")). Vấn đề duy nhất ở đây là người dùng, những người muốn ghi lại theo cách như vậy, phải có ffmpeg được cài đặt trong hệ thống, để ffmpeg có thể gọi được từ dòng lệnh shell. Lợi thế của cách tiếp cận này - nó phải khá nhanh và không sử dụng nhiều bộ nhớ phụ, vì bạn chỉ mã hóa một lần (ví dụ khi người dùng dừng ghi hoặc thoát khỏi trò chơi) từ luồng nhị phân.


Sửa: đó chỉ là một mô tả rộng, tất nhiên bạn nên tìm hiểu cũng là thông số wright cho ffmpeg, chẳng hạn như số lượng khung hình, kích thước và như vậy, và tất nhiên là xóa các dữ liệu thô, kể từ nó có thể là tập tin thực sự lớn.

+0

Nó đang chụp hình ảnh của bề mặt phải không? Tôi cho rằng tôi có thể kết hợp những hình ảnh này để xem video. Bất kỳ suy nghĩ nào về cách tôi có thể thêm âm thanh vào video? (Nó không được xác định trước và thay đổi dựa trên đầu vào của người dùng, chẳng hạn như một chiếc xe tăng tốc hoặc phanh) – rohithpr

+0

@ praroh1 Tôi không có gì để làm lại âm thanh. Nếu tôi chỉ làm một clip cho bản thân mình, tôi sẽ sử dụng microfone cùng một lúc để ghi lại âm thanh –

Các vấn đề liên quan