Robert Cameron wrote:
> It's possible, but requires a workaround or two, and depends upon your setup and what other packages are installed, and how the build you are running of Tvheadend was compiled.
>
> In general, it equates to this:
>
> First, you need to have ffmpeg (or similar software) installed on your Tvheadend server. Also, Tvheadend needs to be compiled with pipe/spawn input support. (Chances are both are true.)
>
> Next you need to create a separate M3U playlist for your VOD streams. Your playlist should be formatted like:
> [...]
>
> You then repeat the last 2 lines for each VOD stream, replacing the options in all caps with the relevant information. For example:
> NUMBER – This is the channel number you want Tvheadend to assign this stream by default
> NAME – This is the name that will be assigned to the Service and Channel by default
> FULL_PATH_TO_FFMPEG – This is the full path to the ffmpeg program, usually
/usr/bin/ffmpeg
> OPTIONS – General options for ffmpeg, such as logging level. (Personally, I've used
-log fatal -v quiet -hide_banner -nostats
in the past. Check ffmpeg's for the full list of options.)
> URL TO VOD STREAM – This is pretty self-explanatory
> MPEGTS_OPTIONS – These are additional options to modify how Tvheadend interprets or reads the stream. Some common options are
-flags +global_header -metadata provider_name="Stream's Provider Name" -metadata service_name="Service name for Tvheadend UI"
>
> So your M3U could end up looking like:
> [...]
>
> After you've created your new M3U, you need to create a new Automatic IPTV network in Tvheadend. Point it to the URI of your M3U (either hosted somewhere, or on your filesystem referenced with a file:// protocol scheme), and once you scan the muxes, you should see new services representing your new VOD movies.
Thank you very much for your explanation on how to use this for "VOD", it works very well!
Only small updates from your original example so others can copy and paste:
<code>#EXTM3U
#EXTINF:-1 tvh-chnum="501",Awesome VOD Movie 1</code>
<code>pipe:///usr/bin/ffmpeg -loglevel fatal -hide_banner -re -i "http://vod.provider.com/movies/1234.mp4" -c copy -f mpegts -flags +global_header -metadata provider_name="VOD Provider" -metadata service_name="VOD1" pipe:1</code>
I use this method for local files, I use "file:///home/mydir/myvideo.mp4" instead of "
http://vod.provider.com/movies/1234.mp4" and remember that you need to scan your transponder. Pause works in Kodi this way too, even if you don´t have it setup like that.