How to add automatic toggle into video - wordpress

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!

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?

Is there a way to change speed in Adobe Connect?

I know Adobe Connect launches its separate application but is there a way to change the speed (ie 2x) in the application or some other way?
You can download the page contents including the voice file.
1- Open in the web browser. Then just append
/output/content.zip?download=zip
to the page URL and press enter.
2- Extract the downloaded file. The file with a similar name to 'voip.flv' is the voice file.
3- You can open it with vlc or any other player and make benefit of the speed option.
Example:
If the link is like:
https://connect.labla.la/p9lhdwnhnf89/?session=breez7b98svagh3mqtkqb&html-view=false&proto=true
you can download the content with this link:
https://connect.labla.la/p9lhdwnhnf89/output/content.zip?download=zip
There is no option to change the playback speed of an Adobe Connect Recording. A workaround is to download mp4 version of the recording and serve via a video hosting provider which has video speed option.

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).

What do i need to add video streaming capabilities to drupal 7

i need to add video streaming capabilities to drupal. I need this functions:
Some users must be able to create
content with video inside it. It must
be easy, the best idea would be
adding a new content type (rich
media) and then the user can choose
to either upload a video from his pc
or choose a video that has been
already uploaded
Registered user must
have the possibility to upload videos
that are viewed by a moderator before
publishing them
All video must stay on my server (privacy reasons and so on), what i'm asking is: is there any drupal modules that any of you has used that does such things?
for streaming video from my server do i need some special "video streaming server"?
i'v checked flowplayer as stated in this question, but i don't get if i need to setup some extras on the server or not.
EDIT - in case, has anyone tried to use Kaltura?
In the end i used the video module with the flowplayer module. Simple and very easy.
I built a WebTV Module on top of NaviCast Streaming API. I used flowplayer for playback. I also setup adStreamer plugin with flowplayer.
NaviCast is a paid service and gives you a desktop application to manage your videos.
I really recommend MediaFront. It is pretty much stand-alone (needs HTML5), and has a tutorial video. It is the only streaming solution that worked for me.

how to work with videos in ASP.NET?

this is my first time doing a gallery of videos using ASP.NET,
I believe there are many articles on the net regarding this, but I would like to see some recommendation and different point of view :
what are the tools used?
how to not allow user to download a video?
what the difference between vimeo,dimecasts.net choice , what about other choices?
Streaming?
any valuable information will be appreciated.
Dear sam you ask too many different question. I will try to give some answer to what I know.
First you need to select the way you go to show your video. One popular way is the flash. YouTube use flash.
So the tools that you can use is the one that convert the video to flash streaming file. There is all ready one from adobe. Other tools is video editing if this is what you asking for. Video editing with asp.net or with other programs like vegas video.
How to not allow a user to download a video ?, you serve this video from an ashx handler, this handler just read the video file from a protected directory and send it to the video player. The id of the file that is going to play you send the id on the page header, or from inside redirect to that page to hide it as much as you can, but expert users can find it and download it at the end. How ever you can avoid the scanning of your page by a robot that try to download them all. All this is not that easy but not that hard also. This task is a full question and a tutorial alone, and as I say I think that is near impossible to avoid at the end the user not get your video if he won it to.
Other way to protect your video is to scramble the streaming header, and then on your flash player decode it again back. That way even if they get them ,they can not play it anywhere.
About the streaming, adobe give a streaming server http://www.adobe.com/products/flashmediaserver/ but for small video files the flash player combinate with the flash video file can do almost the same work.
flash video player, I think that there are some if you google it, one of them is the flowplayer http://flowplayer.org/
You need to know to programming also flash and probably make communication with the video flash and your pages using Javascript, and modify the player to your needs. All of that its not an easy task, but there are many resources and tutorial that can help you.
So start with the flash video on google.
From tag "asp.net" I'm assuming that you deal with Microsoft technologies. Our team in the past had estimation project around selling video content, so you problem is close to it.
The base idea is usage of Microsoft Windows Media Services 9 Series( for brief overview look at
http://www.microsoft.com/windows/windowsmedia/howto/articles/webserver.aspx ). So this answer #1.
The most difficult question is #2. Because you can just reduce possibility to download, but to watch video user needs have some frames at client side. That is why content always can be intercepted. Following list is my recommendations how to reduce risks:
Use "Stream without downloading" (see article above for details) or broadcast
Manage stream content with Digital Rights Management
Use authentication of users that watch video and provide unique URL for them to disallow special tool of downloading to intercept results.
Question #3 relates to format war. Vimeo, youtube and many others use FLV format to provide video. In theory client-side player of vimeo can play without problem video from youtube and vice verse. The benefit of it is crossplatforming - Linux, Mac, Windows users can recognize this format and play it. On other hand usage of WMV (windows media) potentially can be restricted (in real I have never seen any problem). But usage of Microsoft formats are more secured since usage of Digital Rights Management tags embedded to content.
Answer on #4, #5 you can find in article above.
I would opt for using Silverlight. It has Digital Rights Management and Microsoft has some great tools for you like Expression Blend and Encoder.
For the streaming part you could use IIS smooth streaming.
Hi. I have uploaded a picture to show you the solution better. Now I want to tell you what does this image mean:
Upload Center: You must create upload center to upload your videos. So you need to create a user interface with upload controls. after upload, you should change video format to flash video files (Best file type is FLV). And at last step of upload files must save at specific directory ( I call it #VidDir) and you must get video a specific id (I call it #VidId). So file save at Directory/FileID
Generic Handler: This generic handler can open video (with flash video player) and create <embed> tag (or anything else) to show videos. note: to view video this generic handler must have query string (I call it #VidId).
Flash Video Player: You must create a flash video player or use another ready versions; But its better to create your self. (Its realy easy, trust me). This video player must configure to show videos from web page query string (that I call it #VidId).
At last there must be a web page to use generic handler.
Demo here.
ANSWERS:
1.what are the tools used?
Adobe flash: To create a video player. use can use flash FLV media playback tool for video preview. After that you can use buttons, movieclips, and graphics for customizing your user interface.
Its better to use other Flash video players (e.g->Flow player).
Generic handlers: Generic handlers are best way to picking elements. You can preview generic handlers in your ASP.NET page.
2.how to not allow user to download a video?
You can upload videos to your App_Data folder. To access this folder you must have server permission but generic handlers can access videos there.
3.what the difference between vimeo,dimecasts.net choice , what about other choices?
I dont know. You can take a look at Aparat persian video sharing center.
4.Streaming?
You can take a look at Adobe media server family.

Resources