How do you watch mpd video streams in tvheadend

I was wondering if it is possible to watch internet television streams that come in mpd format. For example a Colombian tv station called Tele Medellin : https://d1uupgu1moebpq.cloudfront.net/out/v1/b7c3e526d550443ca26b0517cdd322a0/index.mpd

VLC player is able to watch this type of stream.

Is it possible to watch this in the tvheadend program that comes with the vero ?

I’m not a TVHeadend expert – but from what I can find online this is somewhat hit and miss with TVH.

Why via TVHeadend? If it is just one stream create a .strm file in Kodi.

https://forum.kodi.tv/showthread.php?tid=330507&pid=2722301#pid2722301

See also https://kodi.wiki/view/Internet_video_and_audio_streams

For me, though, VLC stops playing after about a minute and Kodi just gives an error message. Maybe there’s some geofencing from Europe?

TVHeadend is supposed to be obvious choice to watch internet tv streams I thought.

If you can do it directly in Kodi why go the additional step of TVHeadend?

TVHeadend also gives you the option to record what you watch.

I made a strm file and opened it directly with kodi. It works!

I also want this stream to appear in the TV section of Kodi among all the other TV channels. So I can select it from a list of tv channels.

I think you would need a PVR addon which can access that stream for it to show up under TV. See here

Can you share the strm file you used, as I couldn’t make it work. I can view that stream on their website so there can’t be any geofencing.

This is the contentent of the strm file I used.

I figured out how to put the mpd link in the TV section of Kodi. I can now select the telemedellin stream from the list of tv channels I have in Kodi. This solves the problem for the moment. :smiley:

#KODIPROP:inputstreamaddon=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=mpd
https://d1uupgu1moebpq.cloudfront.net/out/v1/b7c3e526d550443ca26b0517cdd322a0/index.mpd

1 Like

I created an m3u file with the links I watch using the simple IPTV addon of Kodi.

#EXTM3U
#EXTINF:8,TeleCuracao
http://ott.streann.com:8080/loadbalancer/services/public/channels/5ed71e232cdc24a3d08cd6de/playlist.m3u8
#EXTINF:114,Telemedellin
#EXTVLCOPT:network-caching=1000
https://d1uupgu1moebpq.cloudfront.net/out/v1/b7c3e526d550443ca26b0517cdd322a0/index.mpd

I watch m3u8 files in TVheadend. Most of them run without much problems.

in tvheadend, if you have yourself a non-coformant stream that tvheadend has trouble with, you can pre-proccess it though a pipe first. Such as via an ffmpeg call, or using streamlink

for example: dealing with a stream that has invalid ssl certificates can use streamlink like this (can also fix some other types of non-conformat streams):

pipe:///usr/local/bin/streamlink --http-no-ssl-verify --stdout “https://someplace.com/some/url/somestream.mp3u8” best 2>>/dev/null

or some other stream like this (you can also convert codecs if the machine you are running tvheadend on has the horsepower to do it live):

pipe:///usr/local/bin/ffmpeg -loglevel fatal -i rtsp://elsewhere.com/some/other/type/of/stream -vcodec copy -acodec copy -metadata service_provider=STRING -metadata service_name=STRING -f mpegts -tune zerolatency pipe:1

How do you put the following URL in a pipe?

https://d1uupgu1moebpq.cloudfront.net/out/v1/b7c3e526d550443ca26b0517cdd322a0/index.mpd

For this particular stream this works for me (you put this whole tihng in as the URL for tvheadend, or as the url in the m3u source file)

pipe:///usr/bin/ffmpeg -loglevel fatal -i https://d1uupgu1moebpq.cloudfront.net/out/v1/b7c3e526d550443ca26b0517cdd322a0/index.mpd -vcodec mpeg2video -acodec mp2 -metadata service_provider=mytest -metadata service_name=test -f mpegts -tune zerolatency pipe:1

Notes:

  1. I have ffmpeg (4.4.3) installed under /usr/bin (I’m running tvheadend on a linux system) if you have ffmpeg installed somewhere else (or are not running linux) you need to figure out the path to your binary
  2. dash works by changing bitrates and resolutions in the middle of the stream (which tvheaded really hates), so things like commercials can make it blow up as those often change resolutions and bitrates on some dash streams.

I tried this but it did not work. Here is what I did.

1 In TVheadend I created a new mux
2 I pasted the whole thing in the upper box (called basic settings) it did not work

then I tried pasting in the lower box (called expert settings, I pasted in the environment field) this did not work either.

But I see a new service on the muxes page. But it does not map, so I do not see it on the kodi remote.

I use the vero 4K+ a linux system, ffmpeg is there at usr/bin
something is still wrong

I searched for pipe examples and found this one:

pipe:///usr/bin/ffmpeg -loglevel fatal -i https://live-news-manifest.tubi.video/live-news-manifest/csm/extlive/tubiprd01,Cloudfront-KCCI.m3u8 -c:v copy -c:a eac3 -mpegts_flags system_b -metadata service_name=“KCCIDT1” -f mpegts pipe:1

This one works.

With Telemedellin still no success.

I will continue to study this topic.