How to enable byte-range http requests in IIS - asp.net

I am currently trying to stream a .mp4 file on an iPad using FlowPlayer. I cannot stream any mp4 video in flow player when I am using my iPad, but it works perfectly fine in the browser. If I reference one of the sample videos from flowplayer.org's it streams perfectly fine on the iPad. Ive done research and found that its because my IIS does not suport byte-range http requests. Does anyone know how I can easily enable this or a solution on how to stream these mp4 files on my iPad with the video files on my server. Maybe even a hosting that DOES support this type of byte-range requests.

Did you had a look at one of these modules ?
http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Internet-Information-Services-IIS-Version2

Related

How do I secure my hls link so that no other site will use it?

I made a streaming server using Nginx RTMP.
I created a live streaming server using Nginx, according to the explanation in this link: Create a secure adaptive bit-rate HLS stream with Nginx/RTMP/Ffmpeg on Ubuntu 20.04 (2021).
I streamed on the server and used the file extracted from the stream I mean this, for example: https://mydomain/hls/stream/index.m3u8
I put it in the video player on my site and it works fine.
The problem here is that anyone who uses the m3u8 file or link and puts it in a player on their site works.
I don't want that... I just want the broadcast to work on my website I've seen many sites use this method to protect broadcasts from being stolen from other sites
I want when I open this link: https://mydomain/hls/stream/index.m3u8 it doesn't work I only want it to work if I add it in the video player inside my site.
My question is: How do I make the m3u8 link work only on sites I own?

How to add automatic toggle into video

I have JWPlayer for Wordpress from ilghera. I use it for my website and i'm publishing video content in my site. This plugin that i use from ilghera gives me the option to add different qualities for a video but they only work manually.
I want my users to open the video just like a youtube video and video itself changes the quality due to users internet connection speed.
Can anyone help me? And whats the price for such a software etc.
The behavior/technology you described is adaptive bitrate (ABR), which uses real-time bandwidth data to switch between higher and lower resolutions of a video.
In order to take advantage of ABR, you must use a video format that supports it, such as HLS (files with .m3u8 extension) or MPEG-Dash (.mpd). You can see an example stream here.
If one of these streams is configured, JW Player will handle ABR and resolution switching automatically. If you are using JW Player's platform technology (i.e. Dashboard), and upload a video, HLS conversions are provided for you.
I've converted my mp4 file to m3u8. Created a playlist same as https://docs.peer5.com/guides/production-ready-hls-vod/ in this link shows. But when i try to play it on http://stream-tester.jwplayer.com it gave me 232011 error code.
Update**
I've solved the problem. Ffmpeg was working fine but only problem was jwplayer and hlsplayer.net were given me the same error which is cross domain access denied. So opened the apache and gave this command :
Header set Access-Control-Allow-Origin "*"
It worked!

Sending H.264 live stream to Nginx and publish as HLS to embed into website

according to this post I am trying to display an H.264 live stream from an ip camera (AXIS M1145-L + CamStreamer plugin) on a webpage without using any external browser plugins (only pure HTML5) and for desktop.
As I`ve read there it is possible to do it with video.js and HLS, so this is what I have tried:
Stream from camera (push to rtmp with CamStreamer) --> to nginx (rtmp module) -->
nginx serves HLS --> display with video.js and videojs-hls plugin in browser
While watching the stream within VLC using it`s hls URL (http://192.168.1.105:8080/hls/movie.m3u8) I do not have any problems or lags but I can not get it to work in the browser with video.js.
It always reports me invalid media.
stream in vlc + codec info:
http://s8.postimg.org/vb63fgfwh/codec.png
my nginx config: http://pastebin.com/9GuAMuBx
html source code: http://pastebin.com/QGmEamjT
output in chrome: http://s8.postimg.org/dwlv76irl/error_html.png
The original stream is pushed to: rtmp://192.168.1.105:1935/hls/movie
192.168.1.105 is the machine where nginx is running.
The Hls stream then is accesible on http://192.168.1.105:8080/hls/movie.m3u8
What I totally want to avoid is the need of re-encoding the video as the machine on where it will run later does not have the power to do it and it will be a full hd stream too. This is why I have abandoned FFmpeg (needed to re-encode Mp4 for Live-Streaming). Also the machine will not have continous internet access, so online transcoding also isn`t possible.
Please help. Thank you !
Finally got it.
Using hls.js library (https://github.com/dailymotion/hls.js) standalone without video.js did the trick. The video is now playing fine in Chrome/Opera on Windows 7. Did not yet try it with others.
So I guess it`s a player/codec dependend problem of video.js.
The html page with the player needs to be on a server (NOT local filesystem!) otherwise browser safety restrictions will come in place which prevents the video from playing. Noticed that while trying from a local html page in browser while hls.js demo worked with same stream.
Thank you for your tips !
I ran into a similar issue trying to get a Video.js player (with the HLS contrib module) to load an HLS stream in PC/Chrome. The player would display "The media could not be loaded... because the format is not supported."
I later found it played fine in Mac/Safari and PC/MS Edge browsers.
Full browser support for HLS is still fairly lacking.
https://www.jwplayer.com/html5/#adaptive-streaming
I had success with Bitmovin's player Bitdash and realized it was a browser issue (not stream or nginx issue).

HTML5 audio with a HTTP 302 redirect in Chrome

I am trying to write an HTML 5 based last.fm player using the popular jPlayer jQuery plugin (http://jplayer.org).
The player works fine in Firefox. However I ran into a problem:
From the last.fm API (http://last.fm/api) I get a playlist with urls to the files. When requesting one of these, last.fm does a HTTP 302 redirect from play.last.fm to something like "http://s03.last.fm/someurl/128.mp3".
It looks like there is some same origin policy for html 5 tags, because jPlayer is unable to play the file in Chrome and Chromium. If jPlayer uses the flash solution (using "flash, html" instead of "html, flash"), everything works fine.
I installed the extra codecs on my Ubuntu and mp3 playback works nicely for the jPlayer demos.
HEAD requests are not supported by the streaming servers. I already tried to do a normal GET request and then tried to get the "Location" header of the xmlhttprequest, but it fails with a security error.
You can find the sources of my (proof of concept) project at https://github.com/tburny/html5-lastfm-player
Is there any hint/solution to this problem?
i had a similar problem but only on android browser. there are lots of gotchas. the key question is if either the original url which gives 302 and the end one is https? if so it'll fail.
check out this test suite http://areweplayingyet.org/

Flex file upload issue io error #2038 over HTTPS

Hi i have a flex file upload application over https it works fine on all IE browsers.
Recently a client with IE9 reported a complaint that she's not able to upload files.
I can see the error generated is IO Error #2038.
The adobe documentation says 2038 is File I/O Error.This error occurs when an application can't get file size, creation date or modification data using the FileReference API.
Can some one help me point out what could be the issue here.
All i can think of is browser issues like, browser cache, some new configuration in IE9 am unaware of or permission on the client directory.
Help will be much appreciated.
thanks
I suggest you to use Charles debugging proxy, which is must have tool for all Flash/Flex developers, and see the difference in IE8 and IE9. Maybe the problem is in some HTTP headers or something else.
I have a similar issue. Later I found out that upload feature doesn't work for latest version of flash player over https. Then I tried sending the upload requests via http instead of https. Now its working fine. Try this, it may help in your case aswell.

Resources