HTML5 Canvas mit FFMPEG an Multicast Adresse schicken

Django, Flask, Bottle, WSGI, CGI…
Antworten
nameless__
User
Beiträge: 2
Registriert: Dienstag 23. Mai 2017, 07:33

Hallo,

ich habe gerade ein recht konkretes Problem und weiß nicht wie ich es angesehen soll.

Ich habe eine Software (die in Python programmiert ist), mit der ich über FFMPEG Videos an eine UDP Multicast Adresse schicken kann und dann auf einem anderen Geräten zum Beispiel mit MPV dieses Video empfangen kann.

Nun will ich die Funktionalität erweitern, dazu habe ich mir in HTML 5 ein Canvas erstellt in dem man zeichnen kann, dieses Canvas wird über die captureStream()-Methode live in ein <video> Tag übertragen. Den Inhalt dieses Tags möchte ich nun wie mein aufgenommenes Video an eine UDP Multicast Adresse schicken. Allerdings fehlt mir momentan jeglicher Ansatz, wie ich das erreichen soll.
Hat jemand irgendwelche Ideen?

Hier ist noch der Code für das Setzen des Videos in HTML bzw. JS:

Code: Alles auswählen

var canvas = $('#can')[0];
var ctx = canvas.getContext('2d');

var video = $('#video')[0];

var stream = canvas.captureStream(60);
video.srcObject = stream;
Danke und LG
nameless__
Zuletzt geändert von Anonymous am Dienstag 23. Mai 2017, 07:46, insgesamt 1-mal geändert.
Grund: Quelltext in Codebox-Tags gesetzt.
BlackJack

@nameless__: Was ist denn da jetzt der Bezug zu Python? Und wo läuft das JavaScript? Im Browser?
nameless__
User
Beiträge: 2
Registriert: Dienstag 23. Mai 2017, 07:33

Naja, wie gesagt, der Stream/das Video wird dann über Python mit FFMPEG an diese UDP Adresse geschickt, und die Frage ist eben wie ich das Video von Javascript srcObject bzw. aus dem video-Tag in Python als Live Stream bekomme um es von da aus zu verschicken.

Und ja, das Javascript läuft im Browser.
BlackJack

Als erstes mal eine Warnung: `HTMLCanvasElement.captureStream()` ist kein Standard, experimentell, und wird nicht von allen Browsern unterstützt. Das gilt auch für den Rückgabewert und vielem was damit dann zusammenhängt.

Das könnte dann vielleicht auch der Grund sein, warum das Angebot von Bibliotheken in Python zu WebRTC eher dünn ist. Müsstest halt schauen ob Du da etwas passendes findest.
Antworten