Ich möchte mein Handy mit Android 12(!) als Webcam benutzen. Dazu habe ich auf dem Handy die App "ip webcam" installiert, die das Bild der Handy-Kamera als http-Stream zur Verfügung stellt. Den Stream schicke ich dann mit ffmpeg auf ein v4l2 Device:
1 | ffmpeg -i http://192.168.178.88:8080/video -pix_fmt yuv420p -f v4l2 /dev/video20 |
Ich schaue das Video mit vlc an und das klappt auch soweit. Allerdings ist das Video im Landscape-Format (quer). Halte ich das Handy hochkant, ist das Video immer noch quer, also falsch.
Ich habe dann mit den ffmpeg-Parametern "-display_rotation 90" und "-vf transpose=1" experimentiert. Aber wenn das Video um 90° ode 270° gedreht ist, sieht man nur noch Gegrissel, das Videoformat bleibt 1920x1080. Ist es aber um 0° oder 180° gedreht ist alles ok. Ich kann sogar mit display_rotation um 90° drehen lassen und mit tranpose auch nochmal, dann ist es um 180° gedreht, aber ok. Aber ich schaffe es nicht, dass das Video hochkant ankommt. Woran liegt das? (PS: drehen mit VLC ist keine Lösung, weil ich das Video für andere Anwendungen brauche)