Video-Codecs : Kleinster-Gemeinsamer-Nenner ?

  • Hallo Beisammen,


    Es geht darum bewegte Bilder zu machen, die auf möglichst vielen der heute verbreiteten 'Devices' laufen. Wenn ich z.B. eine Animation von einer Jupiterrotation oder eine H-A Protuberanz mache suche ich ein Format, wo ich das jemandem als Email schicken kann und der hat dann eine relativ gute Chance daß sein 'werksausgestattetes' Gerät das abspielt. Eine große Enttäuschung neulich war eine Ani von einem Sonnenuntergang. Aus einzelnen JPGs mit 'photolapse' zusammengesetzt. Dabei Dvix6 und RAW AVIs probiert. Microsoft & Intel Codec sahen schon auf dem Preview grauslich aus und wurden verworfen. (Konvertierung mit Virtualdub) Divx6 weigerte sich mit einem Formatfehler (obwohl Pixelverhältnis= Vielfaches v. 4 OK war). RAW produzierte ein 200MB großes Video, daß ich dann auf einem Galaxy TAB abspielen wollte. Große Enttäuschung, selbst RAW AVI gibt eine Fehlermeldung im Galaxy-Player. Was ist los mit dem so gepriesenen Android OS, daß es mit so einfachen Formaten von unwissenden Amateuren wie mir nicht fertig wird? Wo ist da die Flexibilität? Der einzige Ausweg bisher ist animiertes GIF, aber die werden schnell sehr groß!


    Nach dem Gemecker nun zur Frage an alle Experten. Welches Videoformat / Codec muß ich nehmen um :
    <ul><li> Auf mögichst vielen Devices / OSs / Platformen generisch abspielbar zu sein</li><li> Für unser Astrohobby hohe Bildqualität zu erreichen </li><li> Schonend mit Dateigröße umzugehen </li></ul>


    Vielen Dank & Clear Skies,
    Gert


    Admin : Würde auch ins Softwareforum passen.

  • Hallo Gert!


    Ich würde zu mp4 tendieren.
    Zur Konvertierung empfehle ich den "Super Video converter", den gibts als freeware.
    Da kannst du mit Framerates, Bitrates und Kopression arbeiten um die Dateigröße und Qualität in Einklang zu bringen.


    edit: Für Android empfehle ich den im Playstore ebenfalls kostenlos erhältlichen MX-Player und den dazugehörigen codec-pack. Der spielt jedes mir bekannte dateiformat ab.

  • Hallo Gert,


    du hast wirklich recht wenn du meckerst. Als ich anfing mit Video`s konnte mir niemand erklären was eine
    flexible Bitrate ist. Daher habe ich anfangs oft konstante genommen (was ein Fehler war).
    Auch hier im Forum kann man nur Animationen einstellen, was ich aber überhaupt nicht begreife.
    Ich hatte mal eine Ani der Sonnendrehung gemacht. Als Ani musste ich das Bild immer kleiner rechnen
    damit es hier lauffähig angenommen wurde. Aber von Drehung der Sonne mit der ganzen wabernden Oberfläche
    war kaum was zu erkennen. Als große Ani waren das über 20MB. Als MP4 nur knapp 4MB. Soviel zu der Logik
    hier nur Gif-Animatonen hochladen zu können.


    Gruß,
    Armin

  • Hallo Leute,


    genau genommen ist mp4 kein Codec, sondern nur ein Containerformat, so wie .avi.
    Sollten es beim Konvertieren also noch Einstellungen für den Codec geben, dann ist H.264/x264/MPEG-4 AVC derzeit der beste Codec. Smartphones und die meisten aktuellen Kameras nehmen in diesem Format auf, daher sollten die Animationen auch auf diesen Geräten laufen. Da mp4 auch für HTML5 Video genommen wird, sollte es auch so gut wie überall laufen.


    Für gute Qualität sollte man die Bitraten anpassen. Es gibt Programme mit denen man feste Bitraten einstellen kann aber auch variable Bitraten mit Ober- und Untergrenzen, die entsprechend gewählt werden müssen. Das letztere sollte am besten zu klappen, wenn man die richtigen Kompromiss zwischen Qualität und Videogröße finden möchte. Einige Programme haben auch noch zusätzliche Optionen wie "mit maximaler Qualität rendern" oder "mehrere Durchläufe", was zwar die Zeit für die Codierung etwas erhöht aber teilweise noch einen Tick Qualität herausholen kann.


    Grüße, Marcus

  • Neben den von Marcus empfohlenen Codecs für .mp4 ist ein der .xvid codec für avis immer noch ein guter Tip, der läuft so gut wie überall.


    Gute Freeware zum konvertieren ist auch der "video to video converter". Der kennt jedes erdenkliche viedeoformat/codec.


    Gruß, Gerry

  • Moin Jo,
    mp4 ist eine Dateiendung/Container ... der Codec dahinter ist üblicherweise H.264 bzw. MPEG-4/AVC. (AVC = advanced video coding, Grundlage ist part 10 des MPEG-4-Standards). Beide Bezeichnungen rühren von unterschiedlichen Organisationen, die inhaltlich den gleichen Codec beschreiben.


    Alternativ kann man auch den veralteten Codec MPEG-4/ASP (ASP = advanced simple profile; Grundlage ist part 2 des MPEG-4-Standards) nehmen, der vor Jahren unter anderem auch als DIVX oder XVID bekannt wurde oder von Windows zu XP-Zeiten in WMV-Dateien genutzt wurde. Alle drei nutzen inzwischen seit Jahren eine Implemntierung des H.264, auch Apple in Quicktime.


    Solange man beim Kodieren die Einstellungen im Codec H.264 nicht zu arg verstellt, sich an ein Profil hält, ist es faktisch überall abspielbar. Selbst im per WLAN angeschlossenen Fernseher mit schwachbrüstiger Rechnenleistung. Das hat damit zu tun, dass die gängigen Profile über Hardwarechips kodiert und dekodiert werden, die irgendwo verbaut/implementiert sind. Per Software hätten viele Smartphones und Beamer sowie alte Notebooks etc. größte Probleme.

  • Es ist ein Format. Ein Containerformat. Und das Problem ist, dass mp4 nicht von Firefox ohne weiteres abgespielt wird. OGG schon.
    Aber es scheint dem TE eh nicht so wichtig zu sein, da keine Rückmeldung mehr kommt und auf seiner Webseite ruckelts immer noch ohne ogg.

  • Hallo Beisammen,


    Ich habe inzwischen einen follow-up Test mit ffmpeg gemacht.


    Siehe hier :
    http://www.astrotreff.de/topic.asp?TOPIC_ID=173563


    Auch da sind verschiedene Geräte in 'Werksausstattung' nicht in der Lage das Video abzuspielen.
    Hat jemand eine Beispiel Kommandozeile fuer ffmpeg (linux) die das Maximum an Kompatibilität rausholt?


    Vielen Dank & Clear Skies,
    Gert

  • Hallo Gert,


    hab im anderen Thread gerade mal geantwortet. Zum Thema Einstellungen bei ffmpeg habe ich auf die Schnelle das hier gefunden https://blog.mediacru.sh/2013/…o-encode-HTML5-video.html


    Dort wird unter MP4 folgendes vorgeschlagen:

    Code
    ffmpeg -i input.ext -vcodec libx264 -pix_fmt yuv420p -profile:v baseline -preset slower -crf 18 -vf "scale=trunc(in_w/2)*2:trunc(in_h/2)*2" output.mp4


    Grüße,
    Marcus

  • Hallo Marcus,


    Danke für die ffmpeg Zeile. Ich glaube der 'scale' Abschnitt ist dafuer zuständig, die Pixelabmessungen auf Standard zu bringen. Dafür hatte ich schon beim Skalieren der Einzelbilder gesorgt. Meine Zeile war am ende folgende:


    ffmpeg -r 16 -threads 0 -f image2 -pattern_type glob -i 'IMG_*_cent.png' -c:v libx264 -s 1440x1080 -crf 24 ./Video/20141022_Partial_Solar_Eclipse_crf24_16fps.mp4


    Ich hatte noch 'crf 16' versucht, was praktisch 'lossless' ist, (Datei 1.3MB -&gt; 10MB) aber konnte dann im Video keine Verbesserung sehen. Dazu waren meine Eingangsbilder wohl zu schlecht. Wer mit einer High-End-DSLR Zeitraffer Video macht hat natuerlich viel bessere Eingansqualität.


    Vielen Dank & Clear Skies,
    Gert

  • Hey Gert,


    ja, für h.264 ist es wichtig, dass die Höhe und Breite des Videos durch zwei teilbar ist. Wenn ich ein Video mit ungeraden Pixelzahlen im VLC öffne kommt z.B. eine Warnung, dass die Hardwarebeschleunigung nicht funktioniert und das Video demnach entsprechend ruckeln wird. Wobei es mich wundert, dass es bei deinem Befehl nicht funktioniert hat. Da ist die Pixelgröße ja auch gerade.


    Grüße, Marcus

  • Hallo Nochmal,


    Die Kommandozeile für ffmpeg habe ich nochmal verbessert.


    ffmpeg -r 16 -threads 0 -f image2 -i ./sunspot_20141026/img2ffmpeg.3057/img_%03d.png -c:v libx264 -pix_fmt yuv420p -s 1220x900 -crf 16 -vf "crop=1220:900" -y ./sunspot_20141026/Video/sunspot_20141026_crf16_16fps.mp4



    Neu ist die Option '-pix_fmt yuv420p', die im Beitrag hier empfohlen wird:


    https://trac.ffmpeg.org/ticket/658


    Damit bin ich mit meinen Tests bei verschiedenen Geräten ganz erfolgreich gewesen.


    Wer es nochmal testen mag :
    http://drgert.dyndns.ws:8000/s…campaign_2014_test_2.html


    Clear Skies,
    Gert

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!