szukam biblioteki wideo na Qt 4 (C++/Windows), który ma:Qt C++ biblioteki wideo
1) Podstawowe odtwarzanie wideo funkcjonalność
Należy odtworzyć wszystkie popularne formaty wideo takie jak DVD VOB i MP4/MKV/AVI (h264, xvid, divx). Powinien także być w stanie automatycznie usunąć przeplot wideo i wyświetlić go w proporcjach ekranu.
2) Kadrowanie
Należy mieć podstawową funkcjonalność do usuwania czarnych pasków (użytkownik dostarczane argumentów).
3) Migawki
Należy mieć funkcjonalność robienie zdjęć w pamięci.
4) klatka po klatce poszukiwania
Należy mieć podstawową funkcjonalność wykonania poszukiwania klatka po klatce, np prevFrame(), nextFrame(), jumpTo (frame) i getNumFrames().
Próbowałem następujących iz tego co udało mi się znaleźć funkcjonalność one wspierać:
Qt Phonom:
- Tak. Odtwarza wszystkie potrzebne formaty i wyświetla je poprawnie.
- Nr
- Nie. Nie zaimplementowany (zwraca pusty obraz).
- nr
QtFFmpegWrapper:
- częściowa. Nie usuwa przeplotu płyt DVD VOB. Nie wyświetla DVD VOB w DAR.
- Nie.
- Tak.
- Częściowa. Złamany za MKV (h264).
Qt VLC:
- Tak. Odtwarza wszystkie potrzebne formaty i wyświetla je poprawnie.
- Tak. Nie próbowałem, jeśli to działa.
- Częściowa. Tylko na dysku. edycja: QPixmap :: grabWindow (player-> videoWidget() -> winId()) działa.
- Nie. Tylko przez milisekundy.
Teraz patrzę na QVision, która wydaje się mieć wszystkie te funkcje z wyjątkiem przycinania. Może wdrożenie upraw nie jest takie trudne. Ale zastanawiam się, czy są jakieś inne biblioteki, które powinienem zaglądać? A może coś przeoczyłem i są one możliwe dzięki jednej z tych bibliotek. Dzięki.
Ramka tak naprawdę nie istnieje w skompresowanym wideo. Obliczanie z milisekundy offsetu będzie naprawdę łatwe, gdy * ty * przypiszesz szybkość klatek. – CapelliC
@CapelliC * "Ramka tak naprawdę nie istnieje w skompresowanym wideo" * ** jeśli ** metoda wykorzystuje kompresję międzyramkową, zamiast tylko [intra-frame] (http://en.wikipedia.org/wiki/Intra-frame) – HostileFork
"Poszukiwanie klatka po klatce", szczególnie prevFrame() nie jest możliwe we wszystkich sekwencjach wideo. Jest to dobre dla ramek wewnątrzramkowych (ramek I), ale w większości bibliotek jest to trudne lub niemożliwe dla ramek P lub B (zależności ramek). (chyba że sam stworzysz własną pamięć podręczną, ale problem z wielkością pamięci wystąpi, jeśli pamięć podręczna jest zbyt duża) – Eric