iOS webm, ogg, ogv, mp4 playback in app - ios

I have an app where we use OGVKit pod at the moment in order to play/stream webm/ogg/ogv/mov videos (non-local). Now there's the new requirement to be able to play mp4 videos from an URL (non-local) and OGVKit kust supports local playback of mp4 files.
Is there a good library which supports playback of all these video file formats from non-local storage (stream) or do we need to switch between the AVPlayerVoewController/AVPlayerLayer?
I already tried to implement a switch which uses AVPlayerLayer if the file is not webm or ogg which partially worked but I couldn't get the layouting work correctly.
I also tried to search for an appropriate library but haven't found any yet.
Any ideas?

Related

Extract CMSampleBuffer from HLS video stream on iOS

How can I save what AVPlayer is currently playing (both video and audio) from Live HLS stream?
I know how to load and play m3u8 video file using AVPlayer.
Please note that the HLS stream is live and not Video on demand so cannot use AVAggregateAssetDownloadTask In the perfect scenario will get CMSampleBuffer objects which can save to file easily. Also AVPlayerItemOutput is not entirely an option because I am unable to see how will get the audio channel.
Seems not possible with the current SDK. I've implemented it using ffmpeg

How to play some videos from Wowza Streaming Engine?

I can not play a video from Wowza. I have some videos as .mp4 extension. How can i play these videos onto a html web site?
I created some stream files and SMIL files. But I can not have URL to run these videos.
I need to URL format to play videos from Wowza Server.
How can I get the URL to play videos?
Using the HTML5 video tag element for Wowza Streaming Engine streaming URLs can be a bit limited depending on the browser and OS platform you are using. Check to make sure that your browser/platform supports this playback. The latest version of Wowza has the new HTML5 Wowza Player that is supported cross-platform (and is available to users with a valid key).
I also see that your HLS playback format looks to be incorrect. It should be:
http://[wowza-ip-address]:[port-number]/[application-name]/[instance-name]/[stream-path]/playlist.m3u8
Your port-number by default is usually 1935, and can be set from the Virtual Host Setup page. For application name, the pre-installed app is called "vod", and the default instance is "_definst_" (which is optional, but is recommended to use if you are using sub-folders for your VOD content). The stream path is the path and name of your VOD file, and is usually prefixed by either "mp4:" or "flv:", depending on the kind of file. Try playing back the installed sample.mp4 file:
http://192.168.1.59:1935/vod/_definst_/mp4:sample.mp4/playlist.m3u8

Stream only audio track from mp4 file

I have a remote MP4 file that has video and sound. I want to only stream the audio track of the mp4 file. I don't need the video and want to decrease the internet usage in my app. I have no idea where to start with this, Google doesn't seem to help. Is this impossible? Any ideas?
You can't... If you want audio only, you need to split video / audio on the server or put a stream software (like vlc, ffmpeg or mplayer) who can re-encode file in realtime (so you can drop video for new stream)
It's better, for me, to process all files on server and extract audio track...

How to play video and audio extracted from mkv file in metro app

I have managed to read matroska container and able to extract video and audio streams from a mkv file in my metro app. Now, I don't know how to feed the streams for playing. I want to know the concept of throwing media data on display. I have another option to repack the video and audio(s) with subtitles into MP4 container which will be played by MediaElement by default but that will not look like having a matroska codec in my metro app.
So, basically my question is: How to use MediaElement or any display graph to read the video and audio pulled out from any video container.
Please guide me. Thanks.

Stream MP4 video onto iPhone directly from S3?

I have a bunch of MP4 files on S3. Is it possible to stream MP4 video content onto iPhone directly from S3? If so, how can I do this? If I can't do this, what options do I have for streaming video to iPhone? (e.g. run HLs streaming server on EC2? pseudo-streaming or progressive media download?)
Cloudfront can stream video but apparently only using RTMP protocol which is not supported natively by iOS. I'd like to stream natively (make things easier). Thanks all.
You can stream, but the video file must be segmented into .ts files and an .m3u8 file that lists the segments. See https://developer.apple.com/streaming/

Resources