Support Suche
Support Kategorien

Video Encoding

Support: Webseite
Wichtig: Die Video Software ist noch in der Testphase. Wir garantieren weder eine unterbrechungsfreie Verfügbarkeit noch korrekte Resultate. Es ist möglich, dass Videos zurzeit noch falsch oder ungültig kodiert werden. Wenn Sie in Ihre Webseite Videos integrieren möchten, müssen diese eventuell nachbearbeitet werden, um für das Internet tauglich zu sein. Videos im Flash Video Format (flv) können mit einem Flash Player angezeigt werden, wodurch die meisten Besucher Ihrer Webseite in der Lage sein werden, diese anzuzeigen. Bei .mov oder .avi Videos können viele Besucher gar nichts anzeigen.

Video Umwandlung

Um ein Video in ein allgemein verständliches Format zu bringen, muss man es Umwandeln. NetZone bietet Ihnen diesen Service kostenlos mittels einer PHP Schnittstelle. Beim Umwandeln wird das hochgeladene Video eingelesen und in ein neues Format gebracht. Dabei werden sowohl die Audiospur als auch die Bilddaten neu komprimiert, was zum einen in vielen Fällen in einem Speichergewinn resultiert, als auch natürlich das Video für eine grössere Masse zugänglich macht.


Web Oberfläche

Zurzeit gibt es noch keinen Zugang zu einer Weboberfläche, um nur einzelne Videos zu kodieren. Eventuell wird dieser Service später hinzugefügt.


PHP API

Anmeldung

Wenn Sie eine Webseite betreiben, auf welcher Ihre Besucher Videos hochladen können, müssen diese eingehenden Videos verarbeitet werden. Melden Sie sich bei uns, um einen Login für das PHP API zu erhalten. Wir benötigen dazu folgende Daten:

  • ein Passwort
  • Ein Docroot (Document Root), alle Dateien die bearbeitet werden, müssen innerhalb dieses Verzeichnisses oder darunter liegen.
  • Eine URL welche unser Encoding Daemon aufrufen kann, um Ihrer Applikation mitzuteilen, wenn Ihr Job fertig ist

Sie können die Funktionen mittels folgendem PHP Befehl einbinden:

include_once ('/home/httpd/php/video_enc_userfunc.php');

Funktion: AddEncodingJob

Bsp:

$return = AddEncodingJob($username, $passwort, $file_in, $file_out, $config, 
$thumb_out = false, $maxlen = 0, $custom_val = "");

Diese Funktion wird verwendet, um einen neuen Job zu erfassen. Die Parameter erklärt:

  • file_in : Kompletter Pfad des neuen Videos. Diese Datei muss im Docroot (siehe Anmeldung) liegen.
  • file_out : Pfad des Zielvideos. Diese Datei muss im Docroot liegen.
  • config : Das zu verwendende Konfigurationstemplate. Sie können aus verschiedenen Konfigurationen auswählen, siehe unten
  • thumb_out (freiwillig) : Zielpfad für Thumbnail des Videos. Wird dieser leergelassen, wird kein Thumbnail erstellt. Muss im Docroot liegen
  • maxlen (freiwillig) : Maximale Länge des Videos in Sekunden. Längere Videos werden nicht verarbeitet (Status -4 wird zurückgegeben). 0 bedeutet keine Einschränkung
  • custom_val (freiwillig) : Sie können hier einen beliebigen String oder Integer Wert übermitteln. Diese Daten erhalten Sie zurück, wenn Sie den JobStatus abfragen. Serialisierte Arrays sind selbstverständlich auch möglich (max 64k Zeichen). Damit müssen Sie die JobID’s nicht selbst verwalten sondern können dies mit Ihren eigenen Daten verknüpfen.
Wichtig: Ihre Dateien müssen eine gültige Dateiendung haben. Insbesondere bei der kodierung in Flash Video MUSS .flv als Extension verwendet werden, ansonsten scheitert diese.

Sobald das Kommando vom Server verarbeitet wurde, wird die bei der Anmeldung angegebene URL aufgerufen. Hinzugefügt wird ‘?jobid={ihr job}&code={return code}’. Ist die URL also Beispielsweise http://www.netzone.ch/videojob.php, wird nach erfolgreicher Beendigung des Jobs http://www.netzone.ch/videojob.php?jobid=1&code=1 aufgerufen. Bei Fehlern wird der code entsprechend angepasst.

Als Rückgabewert wird IMMER ein Array geliefert:

Erfolgsfall:

$return['code'] = 1
$return['jobid'] >= 1 Die JobId kann verwendet werden, um den Job Status abzufragen.

Fehler:

$return['code'] <= -1 
$return['msg'] Eine Fehlermeldung die Ihnen das Debugging erleichtern soll.

Liste der Fehler:

  • -1: Dateiname nicht gültig
  • -2: Ungültiger Benutzername
  • -3: Anmeldung fehlgeschlagen
  • -4: Fehler beim Einfügen des Jobs in die Jobdatenbank
  • -5: Quelldatei nicht gefunden
  • -6: Pfade sind nicht innerhalb Ihres Document Roots
  • -7: Zieldateien sind für Ihren aktuellen User nicht editierbar.

Funktion: GetEncodingJobStatus

Bsp:

$status = GetEncodingJobStatus($username, $password, $id);

Die übermittelte id muss gültig sein und zu Ihrer Userid gehören.

Als Rückgabe sind folgende Möglichkeiten vorbereitet:

Erfolgreiche Abfrage

$status['code'] = 1: Erfolgreich Kodiert / 0: Job noch nicht bearbeitet
$status['custom_value'] = Ihre übermittelten Benutzerdefinierten Daten
$status['duration'] = Länge des übermittelten Videos

Fehler beim Kodieren

$status['code'] = -2
$status['msg'] Eine einfache Fehlermeldung. Wenn Sie genauere Informationen zum Fehler benötigen, 
geben Sie uns bitte Bescheid (JobID, Username und Passwort im Email nicht vergessen)
$status['duration'] = Länge des übermittelten Videos

Fehler beim Abrufen des Jobs

$status['code'] = -1
$status['msg'] Fehlermeldung, wieso der Status nicht abgerufen werden konnte

Video länger als definierte maxlen

$status['code'] = -4

Kodierungstemplates

1:

Wandelt das eingehende File in ein Flash Video von 320×240 Pixeln mit 300kbps Video Bitrate und 56kbps Audio Bitrate um. Die Sampling Rate vom Audio wird auf 22050 gesetzt. Das Seitenverhältnis wird in jedem Fall beibehalten, Videos mit einem anderen Verhältnis als 4:3 erhalten schwarze Balken oben und unten (oder natürlich auf den Seiten). Diese Einstellung ist Ideal um Flash Videos zu erhalten, die mit einem Flash Video Player abgespielt werden können.

2:

Video mit Maximal 600 kbps Video und 96 kbps Audio Bitrate, als Samplerate wird die nächstpassende aus einer Liste von 11025, 22050 und 44100 gewählt. Die Grösse wird NICHT verändert, das Seitenverhältnis wird nicht angepasst. Diese Einstellungen lassen ein qualitativ hochwertigeres Video zu, welches weniger Einschränkungen unterliegt, dafür jedoch eventuell bei manchen Flash Playern Probleme bereitet.

Eigene Konfiguration?:

Sie möchten Ihr Video mit ganz anderen Optionen kodieren? Die von uns entwickelte Software bietet die Möglichkeit, beliebig viele Encoding Profile zu erstellen, wir benötigen dazu nur Ihre Angaben, was genau Sie erreichen möchten. Folgende Optionen sind möglich:

  • Scale: ja/nein – soll das Video skaliert werden? Erfordert Breiten/Höhenangaben
  • Height: zahl – Höhe des Zielvideos
  • Width: zahl – Breite des Zielvideos
  • KeepAspectRatio: ja/nein – Soll das Seitenverhältnis des Videos beibehalten werden? Das Zielvideo wird die angegebenen Breiten/Höhenangaben nicht überschreiten
  • Expand: ja/nein – Wenn das Seitenverhältnis nicht stimmt, aber beibehalten werden soll, werden schwarze Balken als Platzhalter eingefügt
  • MaxVBitrate: Zahl – höchste zu nutzende VideoBitrate. Ist das Quellvideo bereits stärker komprimiert, wird dessen Bitrate genutzt.
  • MaxABitrate: Zahl – höchste zu nutzende Audio Bitrate. Analog zu MaxVBitrate
  • MaxSampleRate: Zahl – höchste zu nutzende Audio Samplerate. Analog zu MaxVBitrate
  • SampleRates: Array – Ein Array aus möglichen Samplerates, da manche Codecs keine stufenlose Unterscheidung erlauben. Die bisherige Samplerate wird auf das nächsthöhere (oder gleichwertige) Element des Arrays gesetzt. Bsp: Ursprung 17000: SampleRates = Array(11025, 22050, 44100). Damit wird 22050 als neue Samplerate gewählt.
  • EncCMD: Die zu verwendenden Kommandos für die Kodierung. Nur für Experten die sich mit mencoder auskennen.

Geben Sie uns auch an, was für einen Video- und Audiocodec Sie wünschen, die gängigsten werden unterstützt, standardmässig wird der FLV (Flash Video) Codec verwendet.