- Czy są jakieś biblioteki, których można użyć do zapisu zrzutów ekranu w Pythonie.
- Czy można to zrobić na różnych platformach?
- Czy można przechwycić wideo? A jeśli to możliwe w czasie rzeczywistym?
- A może będzie możliwe bezpośrednie wygenerowanie filmów Flash w postaci ?
Odpowiedz
Nie znam żadnych bibliotek ogólnego przeznaczenia. Zrobiłem to dla Windows i użyłem jakiegoś kodu codeproject.com w bibliotece DLL, wywoływanej z ctypes.
Przechwytywanie wideo jest prawdopodobnie trudniejsze; Zrobiłem bardzo szybki zrzut ekranu przy użyciu trywialnego sposobu kodowania i otrzymałem może 8 klatek na sekundę. Jeśli to nie wystarczy, prawdopodobnie będziesz potrzebować biblioteki zoptymalizowanej pod kątem użycia; na przykład tightVNC lub CamStudio czy coś. CamStudio może eksportować flash i jest OSS.
przechwytywania ekranu można zrobić z PIL thanks to the ImageGrab module
Do generowania animacji Flash, można rzucić okiem na ming. Nie jestem pewien, czy ma taką możliwość, ale warto się jej przyjrzeć.
Jednym ze sposobów przechwytywania wideo na ekranie użytkownika (na pewno dla X11, nie wiesz o Windowsie) jest użycie gstreamer z ximagesrc plugin. Dostępne są powiązania w języku Python: here, chociaż wcześniej nie używałem gst-python. Wiem, że Istanbul, aplikacja do screencastingu open source, używa jej - przeglądanie jej źródła może ci pomóc.
Do przechwytywania obrazów statycznych użyłem PyGTK przed Linuksem do przechwytywania ekranu użytkownika. Powinno to również działać na Windowsie i Macu, chociaż tego nie próbowałem. Oto mały fragment:
import gtk
win = gtk.gdk.get_root_window()
width, height = win.get_size()
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, width, height)
pb = pb.get_from_drawable(window, window.get_colormap(), 0, 0, 0, 0, width, height)
pb.save('path to file', 'png')
See the GTK docs, aby uzyskać więcej informacji.
Nadzieję, że pomaga!
możesz spróbować tego również może być to URL może ci pomóc.
jego castro !!! zobacz przykładowy kod poniżej może być przydatny ...
>>> from castro import Castro
>>> c = Castro()
>>> c.start()
>>> # Do something awesome!
>>> c.stop()
Napisałem narzędzie do przechwytywania wielu platform w wxPythonie. Zobacz pobieranie "GeneralScreenShotWX.py" w podtemat "Elastyczna aplikacja do przechwytywania ekranu" w temacie "WorkingWithImages" @http://wiki.wxpython.org/WorkingWithImages#A_Flexible_Screen_Capture_App.
Działa na MSW, OS X i jednej dystrybucji Linuksa i nie wymaga żadnych dodatkowych pakietów wxPython.
Chyba wszystkie możliwe sposoby, aby podjąć kontrolowane Python screeny są ujęte w https://github.com/ponty/pyscreenshot
- 1. Czy mogę napisać funkcję wykonującą obliczenia symboliczne w Pythonie 2.7?
- 2. Jak napisać powłokę w Pythonie
- 3. Jak napisać "kartę" w Pythonie?
- 4. Czy mogę napisać pakiet npm w coffeescript?
- 5. Jak napisać serwer proxy w Pythonie?
- 6. Jak napisać matrycę zamieszania w Pythonie?
- 7. Jak napisać komentarz śródliniowy w pythonie
- 8. Czy mogę napisać kursywę do powłoki Pythona?
- 9. Jak napisać pusty blok wcięć w Pythonie?
- 10. Próbuję napisać własną Sieć neuronową w Pythonie
- 11. Jak napisać funkcję odpytywania w Pythonie?
- 12. Czy mogę przetestować funkcję wewnętrzną w pythonie?
- 13. Wyjątkowy nagłówek JavaFX screencapture na OSX
- 14. Czy można napisać jednolinijkowe w języku Python?
- 15. Czy mogę powtórzyć deskryptor formatu napisów w pythonie?
- 16. Czy mogę napisać skrypty dla hubota w JavaScript?
- 17. Czy mogę zadeklarować/użyć jakiejś zmiennej w LINQ? Czy mogę napisać wyraźniej po LINQ?
- 18. Jak napisać listę list do pliku w Pythonie
- 19. jak napisać do nowej komórki w Pythonie za pomocą openpyxl
- 20. jak mogę napisać instrukcję IF w mysql
- 21. mogę napisać pętlę dla CSS
- 22. Jak napisać i zapisać plik html w pythonie?
- 23. Jak napisać unittest do importowania modułu w Pythonie
- 24. seek(), a następnie read(), a następnie napisać() w Pythonie
- 25. Jak mogę napisać pustą skrzynkę w Swift?
- 26. Jak mogę napisać te zapytania w neo4j?
- 27. Jak mogę napisać perski w Androidzie?
- 28. Jak mogę napisać makro "defn" w Clojure?
- 29. Czy mogę napisać cmdlet binarny PowerShell z .NET Core?
- 30. Czy mogę napisać sterowniki systemu Windows z Delphi 2010?
PIL jest świetna, ale niestety moduł ImageGrab można używać tylko w systemie Windows, w zależności od ich dokumentów. –