Hallo CptGambit,
natürlich entwickle ich mein Programm auch weiter: wie der Zufall so will, wurde eine aktuelle Version fast gleichzeitig mit Deinem Beitrag freigegeben und wird jetzt auch in Deinem Paketzentrum auftauchen. Unter anderem soll es jetzt auch Deine Playlist unverändert einlesbar sein.
Was den Ablagepfad angeht, so habe ich mir natürlich auch die gleichen Gedanken gemacht. Klar könnte ich automatisch "/" an den Pfad anhängen, dann ist aber die Sache mit einem möglichen Präfix nicht mehr möglich. Die jetzige Verfahrensweise ist immerhin so in der Anleitung beschrieben. Es wäre natürlich eleganter, wenn man so eine Baumstruktur anbieten würde, wo der Bediener einen Ordner aussuchen soll. Das habe ich bisher aber nicht implementiert, weil ich nur ungern von meinem Programm aus auf das Dateisystem der DS zugreifen möchte. Dann müsste ich auch noch die Rechte prüfen und ggf. ergänzen usw. Da die Einstellung meist nur einmal bei einer Neuinstallation vorgenommen wird, habe ich den Aufwand als zu hoch eingestuft. Wer weiß, vielleicht greife ich es noch auf.
Jetzt zur generellen Vorgehensweise: mein Programm war ursprünglich dafür gemacht, HTTP-Streams aufzunehmen. Solche Streams werden "as is" abgefangen und in eine Datei gespeichert. Da die Daten dabei gar nicht angefasst werden, ist es vollkommen egal, welche Dateierweiterung die Zieldatei erhält, Hauptsache es gibt eine. Erst später in der Entwicklung wurde ich gebeten, auch Unterstützung für RTMP-Streams einzubauen. Da diese nicht direkt abgefangen werden können und einen erheblichen Aufwand verursachen würden, habe ich mich für eine andere Lösung entschieden: solche Streams werden an ein externes Tool
ffmpeg weitergeleitet. Damit ist es für mich allerdings eine BlackBox, ich rufe es auf und ich warte, bis es fertig ist. Wenn es nicht will oder kann, erhalte ich kein Feedback und so kommt es dazu, dass ich die Aufnahme als erfolgt markiere, während ffmpeg eventuell diese aus unbekannten Gründen abgebrochen hat.
Nun kann ich dem Tool zwar sagen, es soll den Stream nur kopieren, doch erwartet das Tool trotzdem eine Formatangabe. Wenn keine angegeben ist, wird dafür die Dateierweiterung verwendet. Wie es auf der About-Seite steht:
Code:
If it works, you should be able to locate the generated file out.mpg in current folder. Else you should check for any errors in console output.
Make sure that you've provided an correct extension for your stream (.ts, .mpg, .avi, .mk4, .mkv and such): ffmpeg uses this to determine output file type.
Look into ffmpeg documentation and experiment with your stream till you get your file.
I ask you to understand that I'm unable to test any possible stream myself or to provide any technical support for ffmpeg.
Soweit ich weiß, kann man dieses Verhalten umgehen, indem man in meiner Konfiguration das Format erzwingt (Config -> FFMPEG Support -> Additional Parameters...). Das Parameter dazu ist "-f FORMAT", die gesamte Zeile könnte dann in etwa so aussehen:
Code:
-acodec copy -vcodec copy -f avi
Dann wäre die Dateierweiterung belanglos und könnte frei gewählt werden. Wie gesagt, ich kann für ffmpeg leider keine direkte Unterstützung bieten, sondern biete nur eine Art GUI an. Eine Kurzanleitung, um es selbst zu testen, findest Du übrigens in dem entsprechenden Kapitel meiner About-Seite. Mehr Infos zu den Parametern von ffmpeg findest Du
hier.
Ich hoffe, ich konnte einige Fragen beantworten
Beste Grüße
Pav