thibauts/node-upnp-mediarenderer-client

what I'm missing to use this on my LG tv

vankasteelj opened this issue · 7 comments

Inserted:

  var pInfo = et.SubElement(item, 'res');
  pInfo.set('protocolInfo','http-get:*:video/mp4:*');
  pInfo.text = metadata.url;

Right here: https://github.com/thibauts/node-upnp-mediarenderer-client/blob/master/index.js#L262

Tested with @jaruba for powder. My tv is a 2014 (or 13) LG without webos


subtitles: not yet tested

Additionnal note: dc:title cannot have special characters on my TV, or it won't read it. For example: "Les évadés" won't work because of the é. If I use Les evades as title, then it works.

Update for subtitles. My LG tv requires:

    // Commented-out for now as it makes some TVs which don't have it
    // in their supported protocols choke.
    var res = et.SubElement(item, 'res');
    res.set('protocolInfo', 'http-get:*:text/srt:*');
    res.text = metadata.subtitlesUrl;

It won't display anything without it.

Note that this isn't the only protocolInfo, this one exists as well:

'protocolInfo': 'http-get:*:smi/caption'

That's exactly what I was currently trying. I suspect the res solution crashed some TVs because there wasn't a regular res for the video file preceding it. I'm going to push something close to what you did in a few minutes.

Just pushed & published to npm. Can you tell me if everything is fine on your side ?

Yes, it works.

I'm not sure how will non-lg/philips tv deal with the protocolInfo on subtitles though, you sure it won't mess them up?

As it, it's working fully for me though.

Great, good news. I think they will be fine as long as there's a res for the regular stream as well. It seems that by the DIDL-Lite "specs" item elements officially support multiple res children.

I cross referenced the issue in another thread about subtitles, we'll see what people get.

Thanks for your help @vankasteelj

always glad to help open source :)