are there osmf concepts for scheduled live events? - osmf

Lots of ancient, non-negotiable history due to mergers and acquisitions, so I realize there are better ways to do all of this, however... I am faced with the following:
I have an osmf based video player where a particular playlist item (for a live video), must do the following:
play a preRoll prior to displaying a countdown
display a countdown until the video start time (synched with the server time)
play another preRoll prior to video playback
play the live stream until the server time reaches the stream end time
then play a post roll video
I've gotten this working for the most part, but I'm running into walls with the arbitrary insertion of "ads", since I don't want to trigger events associated with loading new media. If I try to inject a new ad (particularly after the stream has played), the live stream will display again. While I could figure out some horrible way to make this work, I just wanted to make sure first that I'm not missing something critical about osmf and live events. I'm also a bit uncertain as to what is native osmf in the architecture I'm working with and what is homegrown.
1) Does osmf have a concept for a scheduled live event that might make this easier
2) Does osmf have an option to arbitrarily insert a video into playback based on some external call without changing the playlist index or returning to the beginning of the video.

Related

Does video.js support MPEG2-TS/UDP streams?

I am just starting to play around with video.js and really like it. I currently have some code where I have two players showing two different HLS streams in a single browser page.
However, HLS inherently has high latency and that may not work for my project. So I am wondering if video.js can receive and play MPEG2-TS/UDP streams which would have less latency (I can easily change the format of all of my source video steams).
My basic requirement is to have 2 players in a single browser page, one player showing the video stream sent from a particular network node, and the second showing how a different network node received that same stream. So the two video.js players on the browser page are showing 2 video streams that are actually the same video so they are highly correlated. This is why the latency is a critical requirement for this project.
Thanks,
-Andres

Handle Variants in Live streaming using HLS

I was watching some videos in twitch.tv to be sure how variants work for live streaming.
I see that, in the beginning a master manifest is downloaded and then a playlist is selected. After this, I used tomcast to throttling network and I waited until videos resolution changes to other variant, but it did not happened never (video was lagged but continued downloading the variant video selected in the beginning).
My question is, if live-HLS adapts the streaming with the variants once it started to play.
The selection of what variant to play is done by the player. Every player is different, and Twitch uses their own. To understand why that specific player is behaving that specific way would require Twitch to comment.

NAudio - Detect Audio via Application

Windows Volume Mixer shows audio output for individual applications.
Using NAudio, what is the right way for me to tap into this information? I essentially want to be able to make my application say:
Always record all audio input/output. Unless otherwise specified, only keep a buffer of the last 30 seconds. Throw the test away. (I know how to do this)
When Skype, Vonage, or Ring Central plays audio for more than 5 seconds, ask the user if they want to start saving the audio. (How would I do this?)
If so, save the 30-second buffer to a file and then start recording live. (I know how to do this)
Thanks for the help!
Windows won't let you capture audio from individual applications. You can use NAudio's WasapiLoopbackCapture to capture audio from all applications.
If you just want to see audio output levels for all apps, that can be achieved with the IMMDevice APIs which NAudio has wrappers for. It doesn't come with a specific demo showing that, but there's another open source project, EarTrumpet that you could explore to see how its done.

How to Record and Play the video in HTML5?

I want to record and play the video. I have found the below article to capture the same. but the recorded video is playing so fast and not playing all of the actions. after 32 seconds, it gets reset to starting position.
http://html5-demos.appspot.com/static/getusermedia/record-user-webm.html
I have used the code from (http://www.html5rocks.com/en/tutorials/getusermedia/intro/#toc-history). I can share it if required.
Any clues to resolve this?
Thanks
Off the top of my head, a reason why the video plays back too fast may be the fact that you are using a resolution that is to high for the current API to handle when recording.
I've tested similar attempts to record video directly in browser and had the same issue with playbacks of recording made with high resolutions.
Maybe this link could help
https://www.webrtc-experiment.com/RecordRTC/
or for an extensive overview of the current state of webRTC you can read the following article:
http://hdfvr.com/html5-video-recording

WinRT live tile on system startup

I have a live tile working which updates how many users are online and how many lobbies are open within the app. This begins updating when my app loses its visibility (no point it updating the live tile whilst the app is running), but I want it to update when I first turn the computer on.
I have had a look around and mentions of making the app a lock screen app have popped up but that is all, no explanation how to do it.
Does anyone know how to do this and provide a nice little explanation or link of how to do so?
Many thanks,
Kevin
You should use push notifications for this kind of behaviour. This msdn link has more info:-
Using tile notifications
Choosing the right notification method to update your tile
There are several mechanisms which can be used to update a live tile:
Local API calls
One-time scheduled notifications, using local content
Push notifications, sent from a cloud server
Periodic notifications, which pull information from a cloud server at a fixed time interval
The choice of which mechanism to use largely depends on the content you want to show and how frequently that content should be updated. The majority of apps will probably use a local API call to update the tile when the app is launched or the state changes within the app. This makes sure that the tile is up-to-date when it launches and exits. The choice of using local, push, scheduled, or polling notifications, alone or in some combination, completely depends upon the app. For example, a game can use local API calls to update the tile when a new high score is reached by the player. At the same time, that same game app could use push notifications to send that same user new high scores achieved by their friends.
You're right with the assumption that you require a lock screen capability to be able to run background tasks without your app being started once. The main process would be to extract the part of your application that gets the data into a background task that is probably triggered by a timer and write some code to be on the lock screen.
When I first encountered that restriction I was kind of surprised, but in terms of battery performance this design decision makes sense: Only consume battery power if the data is absolutely worth it. If it's worth, it is also of interest having it on the lock screen.
On MSDN is a good overview about lock screen along with further reading links. It's much better than what I could type in here. Come back with problems related the implementation (which actually even better fits the purpose of SO). This blog might be useful, too.