Schlechte Bildqualität und hohe CPU-Auslastung beim Streaming in hoher Auflösung mit Webcam und VLC unter Linux

Schlechte Bildqualität und hohe CPU-Auslastung beim Streaming in hoher Auflösung mit Webcam und VLC unter Linux

Ich versuche, mit einer Webcam etwas zu streamen, aber bisher sind die Ergebnisse nicht gut: Alles, was ich in 320 x 240 streame, sieht gut aus, aber sobald ich eine höhere Auflösung wähle, wird die Bildqualität schrecklich und die CPU-Auslastung geht durch die Decke.

Ich verwende eine Logitech C525-Kamera, die angeblich HD ist und eine native Auflösung von 1280 x 720 hat.

Wenn 1280 x 720 die native Auflösung ist, frage ich mich, warum die Qualität so schlecht ist.

Ich verwende VLC zum Streamen und die folgende VLM-Konfigurationsdatei:

new camNumber2 broadcast enabled
setup camNumber2 input v4l2:///dev/video2:width:320:heigth:240
setup camNumber2 output #transcode{vcodec=mpeg4,acodec=none,vb=1000}:standard{access=http,mux=ogg,dst=0.0.0.0:8080}
control camNumber2 play

Wie ich schon sagte, sobald ich die Auflösung erhöhe, sinkt die Qualität zu einem großen, klumpigen Durcheinander.

Ich vermute, dass mit meinen Videoeingabeeinstellungen etwas nicht stimmt und dass VLC einfach versucht, das Bild auf die von mir angeforderte Auflösung hochzuskalieren, anstatt die Bilder in der angeforderten Auflösung aufzunehmen.

Antwort1

Ich habe ein paar Beobachtungen und Vorschläge. Ich sehe nicht unbedingt etwas Falsches an Ihren Befehlen, aber versuchen wir, eine Lösung zu finden.

  1. Es sieht so aus, als ob Sie MPEG4 verwenden. Ich würde empfehlen, einen Blick darauf zu werfenDASListe der unterstützten VLC-Codecs. Ich empfehle Ihnen, h265 oder mp4v auszuprobieren. Bei näherer Betrachtung sehe ich mpeg4 tatsächlich nicht auf dieser Liste, also könnte das Ihr Problem sein.
  2. Welche CPU verwenden Sie? Möglicherweise ist Ihr System nicht leistungsstark genug, um 1280 x 720 zu streamen. Sie erwähnen nicht, welchen Computer Sie verwenden, und ich möchte nur sicherstellen, dass Sie dies nicht auf einem Raspberry Pi oder ähnlichem versuchen.
  3. Versuchen Sie, es mithilfe der GUI zum Laufen zu bringen. Mir ist bewusst, dass die GUI möglicherweise nicht die endgültige Lösung ist, aber wenn wir es dort zum Laufen bringen können, wissen wir, dass es möglich ist, und können mit den CLI-Argumenten fortfahren.
  4. Versuchen Sie es auf einem anderen Betriebssystem und Computer. Können Sie es unter Windows und Linux zum Laufen bringen, funktioniert eines besser? Auch dies wird dazu beitragen, einige Variablen bezüglich der Ursache des Problems auszuschließen.
  5. Unwahrscheinlich, aber es ist möglich, dass Ihr USB-Bus überlastet ist. Vielleicht ist der Anschluss nur USB 1 oder Sie haben eine externe Festplatte am selben Bus, die die gesamte Bandbreite beansprucht.

Probieren Sie einige der oben genannten Optionen aus. Wenn Sie es herausgefunden haben, schreiben Sie, welche Lösungen bei Ihnen funktioniert haben. Wenn es immer noch nicht funktioniert, schreiben Sie, was Sie herausgefunden haben.

verwandte Informationen