Correct way of playing video mp4 from http

I am developing a channel for playing videos from videoprobki.ua. Currently I cannot make it playing videos.
The final video urls are just links to 1-minute mp4 files with video and no audio, for example ‘http://vs7.videoprobki.com.ua/streams/cam188stream_1455527504.mp4
How should I correctly make this playing in my own service?

You can find my service sources here.

You only use the HLS attributes for a m3u8 video. You are combining HLS and MP4 attributes in the media object build of your MediaObjectsForURL() function and the media URL you returned in the PlayVideo() function. The key value does not need the HTTPLiveStreamURL() if it is a MP4.

The best way to see examples of a media object build is to look at existing ones in the Services bundle. At the top of the Github screen you will notice that the search says “This repository.” So you can search for code used just in that repository. So search for something like MP4 and you will see plenty of examples of how to build a MP4 media objects.

And look at a few. The more info you can define the better and some URL services may define less attributes because the website didn’t provide enough info for them to to define more.

EDIT:
Just to clarify Github search will change from search Github to search this repository when you are looking at/on the URL for a specific repository. It is not helpful with every repository, but since the Services bundle has such a large variety of examples of URL services, it can be really helpful in searching for specific examples related to Plex channel development for URL services, media pulls, and media objects.

@shopgirl284
Thanks a lot. Searching by services repo is a really good idea. I tried to search and seems I tried similar approaches but still cannot make it working.
It does not work on samsung smart tv. It works for android via DLNA when I open actual link using VLC.
Is there anywhere a good explanation what mean such things? “@indirect”, “HTTPLiveStreamURL”, “IndirectResponse”, “Redirect”…
How MediaObject parameters impact on actual media playing and looking?

The Samsung app has some quirks that other apps may not that are further complicated by the many types of devices that are used by that app and the various software or other limitations of older verses newer Samsung devices. For example, I know there were issues with Samsung handling HLS videos and the developer was looking at options to send all HLS videos to PMS to be transcoded, but I do not personally use the Samsung app, so I am not sure if this was just an issue with older models or how the app for Samsung may vary based on the model you use.

If you are accessing MP4 videos, there should be no HLS references/attributes in your media object build and you should not use the HTTPLiveStreamURL() in the media URL key you are returning. Also some Plex players do not work well with Redirect(), so it is always best to use @indirect and IndirectResponse().

There are currently no documents that fully explain all the different methods for your PlayVideo() function and the data it returns. I am trying to write a basic support document about URL services, but I am not always the best at fully explaining how and why you would choose the various methods. And usually the reasons you would need to use any option other than @indirect andIndirectResponse() are limited and require more than a basic knowledge of the various clients and the media you access from websites. So it is probably best not to delve too deep into to those options in a support document for beginners.

Understand that I write support documents for beginners. I am by no means an expert on Plex channel development. I just can remember my own questions along the way, so I can still relate to looking at the Plex channel API as a beginner. I always compare it to the idea that someone who knows Calculus is not always the best Algebra teacher, because they know too much and have moved so far beyond those basics that it is harder for them to explain it to beginners.

Ok. Finnaly it is working on Samsung Smart TV.
Does not work on native android app.

MP4 videos play on every Plex player. You just have to make sure you include all the media codecs and attributes in your media objects. And as I said it is always best to use the @indrect/IndirectResponse() when returning your media stream.

Plex players will send a video to be transcoded, if you do not or are not able to include all of the media object attributes like video_codec, audio_codec, container, bitrate/video_resolution and audio_channels. (HLS videos require the additional attribute of protocol, but does not require a bitrate/video_resolution)

The Android app has this experimental player setting that can cause issue with some videos, but I am not sure why that would affect an MP4, if it has all the attributes discussed above defined.