oeuillot / upnpserver

Fast and light upnp server for node
GNU General Public License v2.0
181 stars 47 forks source link

ffprobe #48

Open s-leger opened 8 years ago

s-leger commented 8 years ago

Hi, Including ffmpeg things could be a pain in the ass on some systems (special thanks libav fork...) . At least we should provide some instructions to get static versions.

https://www.ffmpeg.org/download.html (choose under packages)

(osx) https://evermeet.cx/ffmpeg/ (linux 2.61+) http://johnvansickle.com/ffmpeg/ (windows) http://ffmpeg.zeranoe.com/builds/

oeuillot commented 8 years ago

Hello s-leger,

FFmpeg is an optional feature, if you don't specify FFPROBE_PATH, it doesn't work and that's all !

I don't use avprobe, because it can not output in json format yet !

Sorry for french: Je travaille sur outil de remplissage automatique des metadatas des mkvs (en alliant plusieurs sources de données et l'utilisation de ffprobe) En attendant qu'il soit prêt, j'ai ajouté (temporairement ???) ffprobe à upnpserver. L'idée principale est que le serveur upnp puisse fournir des metadonnées complètes au client UPNP en utilisant si possible la norme UPNP ou DLNA. (Nombre de pistes audios/langues/Dolby,DTS, ... ; sous-titre/langues) Mon client cible est jasmin, tu peux le trouver sur github !

Bon dimanche

s-leger commented 8 years ago

Hi Olivier,

+1 for ffprobe : never recreate a wheel witch already exist and does work quite well : we are not Microsoft. Been able to quickly populate media duration is also very important, and ffprobe can be goot at it. FFmpeg could also be THE right tool to fix any transcoding issues for some "exotic" devices not working with every formats (aka some Sony Bravia, apple Airport...). The hard part with it is to handle mime and res variants (protocol info).

We simply should be aware of potential setup issues for average final users, and provide simple ways to overcome those issues.

s-leger commented 8 years ago

Hi, According DLNA spec 2014 Part 2 (Media format profiles) page 121, table 30, some profiles are mandatory, eg: MPEG_PS_PAL for EU. So, in order to be DLNA compilant, there is a clear need to handle transcoding (maybe via FFmpeg). Since mime to dlna profile mapping is far from being a completely realistic solution, i'm also thinking about handling DLNA profile and mime type from ffprobe codec datas.