Live (Sliding Window) Playlist (with rewindable DVR buffer) support for Android and iOS - android-mediaplayer

I have a DVR playlist (Not "live" and not "vod"). From a "spec" and playlist standpoint, this is like a "live stream" that can be rewound... to an amount equivalent to its buffer size. So, for example, if it is 8pm, I can watch the video that aired at about 8:00 pm (probably 7:59 to precise) and I can rewind it by 2 hours to 5:59. I would like this functionality enabled on Android and iOS. Visually the feature should look like this...
Currently, it is NOT supported by Android and is no longer supported by iOS 8. I want a player that I can include in an Android app that supports the DVR playlist. I know this is possible because YuppTV has managed to do this with their player.
If there is another Android or iOS player or another way to support a DVR playlist, I would greatly appreciate some advice!
Thank you.
CLARIFICATION:
This is NOT an event Playlist. An event, by definition ends at some point - i.e. there is an ENDLIST. This stream has no ENDLIST. It is continuously "LIVE" (recorded) Playlist. It is called "sliding window" because you can rewind.

As I understand you are talking about "EVENT" playlist type which is available for HLS protocol version 3 and above. HLS version 3 is supported by Android 4.0 and above.
Playlist type
From official spec: "Furthermore, the Playlist file MAY contain an EXT-X-PLAYLIST-TYPE tag with a value of either EVENT or VOD. If the tag is present and has a value of EVENT, the server MUST NOT change or delete any part of the Playlist file (although it MAY append lines to it)."
All this means your HLS server just have to provide correct playlists, append new segments to it, etc. according to spec. Also to support old Android versions you can try Vitamio SDK for Android which is basically based on FFMpeg library.

Related

How to send a texture with Agora Video SDK for Unity

I'm using the package Agora Video SDK for Unity and I have followed these two tutorials:
https://www.agora.io/en/blog/agora-video-sdk-for-unity-quick-start-programming-guide/
https://docs.agora.io/en/Video/screensharing_unity?platform=Unity
Up to here, it is working fine. The problem is that instead os sharing my screen, I want to send a texture. To do so, I'm loading a png picture and trying to set it to the mTexture you find in the second link. It seems to be working on my computer, but it is like it doesn't arrive to the target computer.
How can I send a texture properly?
Thanks
did you copy every line of the code from the example as is? You may not want to do the ReadPixel part since this reads the screen. You may just read the raw data from your input texture and send it with the PushVideoFrame every update.

Using Audio Unit (Mixer Host) to play from iPod library instead of pre selected sound files.

For a university project i'm working on a DJ mixing app. I'm essentially tackling this project from a 'teach yourself from scratch by googling everything and analysing pre existing source code' type of way so go easy.
I have looked at the Mixer Host sample project from apple found here: http://developer.apple.com/library/ios/#samplecode/MixerHost/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010210
I can't work out how to replace the pre selected audio files (guitar + beat) with a song URL from the iPod library selected from a media picker, or, in this case - 2 media pickers.
Is it a case of grabbing the URL of the iPod library song selected and putting in place of the URL of the preselected audio file?
If someone could point me in the right direction, tell me how i'm completely going about this the wrong way, or even do the coding for me (joke), it would be greatly appreciated.
You can't actually simply stream from the ipod library; you need to copy the files into the documents directory of the app.
try this: http://www.subfurther.com/blog/2010/12/13/from-ipod-library-to-pcm-samples-in-far-fewer-steps-than-were-previously-necessary/
You can use third party libraries to play a iPod library songs using AudioUnit. The below link is useful to you
Clickhere!

How to compose an MMS with an audio file programmatically in iOS?

I'm interested in seeing working code for how to compose an SMS/MMS programmatically using the latest iOS in order to include a sound file, taking into consideration that if the file is too big (unsure of the max size at this time, any info is appreciated) an error should be displayed to the user.
I know this can be done, because the built-in recorder for the apple iphone allows for sending audio files via a text message if they're not too big. I'd like to understand how it achieves this programmatically, what sound formats are available to me and what are the limitations if any.
You are not allowed to send MMS through the MessageUI framework, which is the framework iOS allows developers to interact with the Messaging interface. Apple uses private APIs in their apps, and any use of private APIs = automatic rejection in the App Store.
Raphael is right, there is currently no way in the current iOS version (iOS 5) to send an MMS using the MessageUI framework.
One potential workaround we've found was to create a "send MMS" screen, where a user can attach their selected audio / pxt, and then when the user hits the send button, make a call to a 3rd party MMS gateway to deliver the audio / image.

How do access native APIs with Sencha Touch?

If I wanted to create a mobile app that allows the user to take pictures with their phone, record audio notes and record video, how would I do that?
I was browsing through the Sencha Touch 2 API and while I see documentation on video and audio files, it seems like it is just providing a way for me to access files stored on the phone - not actual triggers to record, or take pictures.
Am I missing something?
How would I do what I want?
In order for Sencha Touch to have access to your phone capabilities, you need to use a product like Phone Gap
Unless there is a HTML5 api for doing those sorts of things I don't think you can do that. I know on PhoneGap there are native extensions added into that platform for access to things like microphone, camera, etc. I don't know if Sencha Touch has added any of those sorts of extensions in order for you do this.
Just thinking out of the box here, but you might be able to put Sencha javascript into a Web View from within an Android Java process. Then the Java code could expose an object in its process as an extension point to the Javascript engine for access to Camera, Microphone, what not.

Play brightcove videos

I want to play a remote video hosted in Brightcove. As Brightcove URLs are links to players not direct links to video files the AVPlayer won't do it.
I know Brightcove provides an API but can't find any good examples for iOS nor documentation.
Any help/pointing direction appreciated.
I haven't used Brightcove, but poking around their site, I see they have two APIs: a Player API and a Media API. It sounds like the Media API is what you want — it's documented as giving direct references to the videos. The page has a link to several examples.
You can also lift alot of the code from their Oneplanet demo source. In fact the whole playlist and video player mechanism can be practically copied into your project so all you need to do is pass a video or playlist ID into their initwithnibandplaylist function in their view controller and you're good to go.
I hope this helps your question. There is a renditions which contain direct video link.
Here is a link for api link.
http://support.brightcove.com/en/video-cloud/docs/accessing-video-content-media-api
renditions is a javascript object containing multiple video links based on resolutions such as 360,460, 720.
You can find the direct link to the video via the media api, bypassing the player API entirely. You need a pro account and a token:
http://support.brightcove.com/en/docs/getting-started-media-api
Alternatively, you can create a simple "player" without any controls (just a video window actually) and make your own HTML controls totally outside of Brightcove to trigger almost anything you'd want to do via the player API.
There is also a Brightcove iOS SDK. It is really two SDKs one for the Media API and one that includes a MediaPlayer. If you want to use the AVPlayer you can use the Media API iOS SDK. Here is the docs for that:
http://docs.brightcove.com/en/video-cloud/mobile-sdks/brightcove-player-sdk-for-ios