Thứ Bảy, tháng 6 16, 2007

Chụp hình video

Hum, định thử chụp cái ảnh màn hình, bao gồm video, mục đích chính là khoe :D. Nhưng chụp xong, thấy cửa sổ mplayer xanh lè, chưa tìm ra nguyên nhân chính, nhưng tạm thời có cách giải quyết.
Khi chạy mplayer, thêm tham số -vo x11, rứa là chụp ngon.

6 bình loạn:

pclouds nói...

Nguyên nh6n là Xv sử dụng tăng tốc phần cứng để giải mã/hiện thị video, không theo cách "bình thường" nên không chụp được. '-o x11' dùng cách "bình thường" (nhưng hao CPU hơn)

Nguyễn Thành Luân nói...

Em mới đọc về thằng tăng tốc phần cứng (hardware acceleration), nhưng chưa rõ lắm. Như vậy khi tắt tăng tốc phần cứng nó không tận dụng được hết hiệu suất của cạc màn hình (GPU)?

Mà như vậy chắc cũng có cách để chụp khi dùng tăng tắc phần cứng chứ anh nhỉ? Để em thử tìm xem sao :)

pclouds nói...

"Tăng tốc phần cứng" là một từ khá chung chuung. Có nhiều thứ liên quan đến phần cứng để tăng tốc lắm: DMA, GPU, các đặc tính riêng của card đồ hoạ...

Xv chỉ giúp tăng tốc khoản giải mã video hay chuyển hệ màu gì đấy thôi. Thay vì dùng CPU để tính hết mấy cái đó thì giờ nó giao hẳn cho card đồ hoạ, card đồ hoạ tự giải mã rồi tự hiển thị luôn (không thông qua X protocol nữa). Chính vì không thông qua X protocol nên mấy chương trình chụp hình thường (dùng X) không chụp được mà hiện xanh lè (vì X chỉ biết có thế). Những chương trình screen capture nào hiểu Xv (và hi vọng Xv hỗ trợ screen capture) thì may ra mới chụp được.

GPU liên quan nhiều đến tăng tốc đồ hoạ 3D, thường không dính dáng đến Xv. Tóm lại Xv là một dạng tăng tốc (giảm tải CPU), nhưng không phải tăng tốc đồ hoạ chỉ có mỗi Xv.

Thử google "Xv screen capture" xem sao.

Nguyễn Thành Luân nói...

đây nó viết vầy, có chút hi vọng:

XVideo often uses hardware overlays, and therefore it is often not possible to produce proper screenshots of Xvideo applications or to view them on a secondary display.

Còn đây nó khẳng định không chụp được luôn :)) :

XVideo (Xv): requires XFree86 4.x and supporting hardware and X server. Run 'xvinfo' from the shell to get information about support on your system. Very fast and Kino maintains both frame and pixel-accurate aspect ratio. You can not take a screen capture of the video preview in this mode. XVideo is similar to Microsoft DirectDraw.

Nhưng khi em vào trang của XV, nó có 2 hàm là XvGetStill và XvGetVideo để capture ảnh và video từ xv?
Em thử tìm chương trình viết sẵn xài mấy cái hàm này nhưng chưa được :P

pclouds nói...

Đâu có cách nào lấy XvPortID đâu mà chụp :P
Cách hay hơn là hack thẳng vào mplayer (hoặc thằng khác), thêm tính năng chụp hình vô.

Nguyễn Thành Luân nói...

Hehe, cách hack tạm thời chưa ăn được :D.
May nhờ từ khoá XvPortID em kiếm được cái người ta mần sẵn rồi. Về học diff để biết xài path cái đã :).
Cảm ơn anh.

Đăng nhận xét | Feed



 
^

Powered by Bloggerblogger addicted por UsuárioCompulsivo
original Washed Denim por Darren Delaye
Creative Commons License