Jak użyć "niestandardowego" rejestratora wideo do utworzenia VideoTrack i zapewnienia ramek?Utwórz WebRTC VideoTrack z "niestandardowym" Capturerem na Androida z libjingle
Klasyczne podejście do tworzenia Videotrack jest:
1 - Get instancji VideoCapturer
VideoCapturer capturer = VideoCapturer.create(name);
2 - Tworzenie VideoSource
VideoSource videoSource = peerconnectionFactory.createVideoSource(capturer, videoConstraints);
3 - Tworzenie a VideoTrack przy użyciu źródła wideo
VideoTrack videoTrack = peerconnectionFactory.createVideoTrack("Label", videoSource);
4 - Dodaj utwór do MediaStream
Zastanawiałem się, czy istnieje sposób, aby zmienić krok jeden. Zamiast korzystać z natywną instancji Capturer, użyj jednego z Androidem oraz zapewnienie ram do Videotrack używając callback:
public void onPreviewFrame(byte[] data, Camera camera) {
// provide the frames to the VideoTrack
}
jakieś sugestie?
Nie wiem, co chcesz osiągnąć. W rzeczywistości nie jest to macierzysty chwytak. Używa do przechwytywania klasy kamer Android, a ramka przechodzi do natywnej biblioteki. Może to kod, którego używasz w słoiku. –
W pliku JAR znajduje się klasa VideoCaptureAndroid.java, z której przechwytywane są ramki i przekazywane do rodzimego liberała. –
@BirajZalavadia, tak, widziałem to, ale tak szybko, jak pamiętam, cała "ważna" metoda była prywatna, więc wyglądało na to, że musi być zaimplementowana – Manza