Mit App erzeugtes Video ist unter Windows um 90° verdreht

  • Antworten:4
Bali
  • Forum-Beiträge: 7

08.01.2017, 12:40:34 via Website

Hallo zusammen!

Ich entwickele gerade eine App, die u.a. Videos aufzeichnen können soll.
Soweit funktioniert auch alles.
Das Video wird gespeichert und lässt sich auch wiedergeben.
Mit dem Media Player auf dem Z5 Compact sieht es auch genau so aus, wie es sollte. Wenn ich es dann aber auf den PC ziehe und mit dem Windows Media Player oder VLC abspiele, ist es um 90° gedreht.

Für die Kamera nutze ich die "alte" Camera-API, zum Aufzeichnen den Mediarecorder.
Habe gefühlt schon alles versucht (camera.setDisplayOrientation, mediarecorder.setOrientationHint, Camera.Parameters .setRotation, etc.), aber das Ergebnis bleibt immer das Gleiche.

Durch stackoverflow und Google hab ich mich natürlich auch schon durchgewühlt.
Und die Beispiele aus der Dokumentation blieben auch ohne Erfolg.

Hatte jemand schonmal das gleiche Problem oder kann so helfen?

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.958

08.01.2017, 13:13:01 via App

Hallo Bali,

da wird anscheinend die exif Definition nicht hinhauen, wie das gelöst wird weiß ich leider auch nicht. Aber in den Metadaten (exif) sollte das zu erkennen sein bzw. fehlen wie das Bild aufgenommen wurde. Daher wird Windows bzw. die Programme dein Bild nicht richtig drehen.

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Bali
  • Forum-Beiträge: 7

10.01.2017, 10:25:17 via Website

Danke für den Ansatz.

Habe mal verschiedene Videos mit dem Exiftool ausgelesen, die ich sowohl mit der nativen Camera App als auch mit meiner App aufgezeichnet habe.
Die unterschiedlichen Rotations, die ich mittels setOrientationHint gesetzt habe, konnte ich dort auch nachvollziehen.
Diese Hints werden aber anscheinend von den genannten Playern komplett ignoriert.
Die Videos bekomme ich nur dann in der korrekten Ausrichtung, wenn ich die Kamera während der bzw. für die Aufnahme drehe, das Handy als horizontal halte.

Habe mich auch mal durch die android.media.MediaRecorder.java gelesen. Da besteht jedoch keine Chance etwas zu umgehen, die Parameter werden nativ, also übers JNI an ne C++-Methode übergeben.

Antworten
swa00
  • Forum-Beiträge: 3.704

10.01.2017, 10:47:10 via Website

Hallo Bali,

ich habe noch nicht mit der Camera gearbeitet, deshalb kann ich nur pauschal vermuten,
dass Dir auch wie des öfteren - nichts anderes übrig bleibt, als dein NDK anzuwerfen.

Aus genau solchen Gründen , komme ich immer wieder auf NDK zurück , wenn man in die Tiefe gehen muss

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Bali
  • Forum-Beiträge: 7

11.01.2017, 18:55:57 via Website

Ok, das werde ich mal versuchen.
Mit dem NDK hab ich noch nie gearbeitet. Da werde ich mich erstmal einarbeiten müssen.
Na ja, hab es ja nicht eilig.

Antworten