I'm seeing this app "Azul Media Player" that plays AVI files, divx, wmv, and a lot more video files. How do they do that? How can I play AVI videos in my app? Thanks.
iOS does not support divx and wmv files natively, so most likely they are using a third-party library to do the decoding. For example, this question has some links about getting FFmpeg embedded in an iPhone app. (You would have to be careful about the licensing, because FFmpeg is licensed under the LGPL, although with any of these open source libraries, you will want to read the license closely.)
Related
I have integrated videojs in my website and there are mostly Mkv files to play in videojs. Now the concern is that iPhone is not playing Mkv videos and showing messages like "format not supported". If anyone has an idea regarding this issue or any alternative, please let me know.
HTML5 video has to be a format supported by the browser natively, or via media source extensions. MKV is not supported by iOS nor widely supported on desktop browsers - even if some play, others will not.
If you need a single video format, MP4/h.264/aac is the most widely supported format, but consider HLS for adaptive streaming.
After researching lots on StackOverflow and Class References, iOS MPMoviePlayerController cannot play .mov video files. AVPlayer can play .mov files but there are no controls.
I want my app to play .mov files, because Adobe Flash Animation provides .mov as the cleanest and native looking video. If I convert the same video to mp4 (supported formats) there is loss in quality, even when I turn the video rate to 100 MB/s and highest quality video.
Quite ironic, QuickTime is Apple's intellectual property and its products do not support .mov video files.
How do I get around this issue?
MPMoviePlayerController (and iOS in general) does support .mov files. See Apple's class documentation, section "Supported Formats". But only a limited number of video codecs are supported.
Deceptively, the Quicktime ".mov" format is not a video codec, but rather audio/video container format that can contain video and audio (and some other things) in any number of compression codecs (h.264, mpeg2, ProRes, MJPEG, AAC, mp3, etc.)
Your files don't work because they include video compressed with a codec which iOS does not support (maybe PhotoJPEG if they are Flash animations?). You can check the format of your videos by opening them in Quicktime Player on Mac OS X and clicking "Show Movie Inspector" in the Window menu.
It is not possible to add support for additional codecs to the native iOS video playback system (MPMoviePlayerController and friends). This leaves two options;
Recompress your files to make them compatible
Use a different video playback framework.
You say you have already tried recompressing the files, but this is still the best option.
I encourage you to try recompressing the files with Handbrake. The h.264 codec is capable of excellent results (see BluRay movies, the iTunes Movie store, etc.)
If you really must play back your animations in their current format, you'll need to use another video playback framework. I suggest you look at libVLC and VLCKit from the excellent VideoLan project (I'm having problems accessing the VLCKit project pages, but a fork is available here). Be aware, non-native video playback will very likely not be hardware accelerated and so will eat your users' batteries.
One last thing, if your videos are short and silent… might animated GIF be an option?
I want to give support of webm file in iOS , but iOS doesn't support this format to play a video. i Even tried to play it through HTML5 video tag but safari doesn't support webm format in HTML5 video tag that means i also cant make it work through UIWebView. But i have seen an app that is supporting this format in their media player , that means there should be some way.
Thanks in advance for help!
Have you tried integrating MediaVLCKit by VLC?
As per VLC for an iOS device: The app claims to be able to play a veritable cornucopia of different video formats, including .mkv, .vob, .wmv, and WebM .
PFA link for VLC for iOS 2.5.1 which includes MediaVLCKit library as well.
Hope this works :)
I have music encoded in Vorbis format and also starded encoding some of my albums to the new Opus format. Is there a way I can copy and play them to my iPhone ? xiph.org wiki page states about vorbis support, that in the free software side, it's "work in progress", while it cites a radio stream and a video application that have Vorbis support, but what about audio support ?
To summarize the requirements:
Vorbis support
Opus support
some way to copy or make the album available
free software would be a plus, since proprietary software could be slow to adopt Opus and I could even add support for additional codecs myself by writing patches
[Edit: essential media player features required]
Playlist support, etc.
Flawless playback must be a strong guideline (for example, some players have audio decoding glitches every 5 minutes played)
http://wiki.xiph.org/Vorbis_Software_Players#iPhone
Capriccio music player for IOS supports FLAC, APE, WV, MPC, WAV, M4A, MP3, OGG, AIFF, CAF, MID, OPUS
I've used it on all my IOS devices (including iPad 2/3/Air and iPhone 4 & 6) with FLAC encoded music and never experienced audio glitches.
Open source licensing on iOS is a difficult matter. VLC for iOS plays Opus and Vorbis. But as a music player it's quite useless.
Since iOS 11 it supports native Opus streams, however you still need to encapsulate them in CAF format. For apps (and even in Safari) you might try to pass that CAF stuff with the audio/aac mimetype and should work.
Try with the afconvert available in macOS with something like this:
afconvert input.wav -f caff -d opus -b 32000 output.caf
There is a test site to try CAF in your Safari browser.
Source: https://hetzel.net/2017-06-12/ios-11-opus-support-in-podcast-feeds/
I am studying some of the concepts of MPEG-DASH and it's features. I have researched about adaptive streaming technology . Now i am trying to stream MPEG-DASH videos in browser for live telecasting and on demand videos .
I have gone thorough some of the open source libraries . I can able to work DASH on latest browsers which are supporting Media Source Extension (MSE) .But i couldn't able to work on iOS devices and it's not supporting MSE .
So i want to know how can i work DASH videos in iOS browser and how Facebook and other services streaming their videos in iOS browsers?
Is Facebook/other services supporting DASH videos in iOs ?
How Facebook/other services streaming videos in iOS?
Is Facebook using HLS in iOS for streaming ? if it is, How they convert DASH to HLS (if they stream DASH videos) ?
They trying to check Operating system (OS) first and it will select HLS/DASH with respect to that OS . Is it like they are doing ?
Detailed explanation would be more helpful .
Safari (the browser) on iOS does not support media source extensions. Anyone doing adaptive streaming on that platform is using the native HLS implementation in Safari.
<video src="http://example.com/manifest.m3u8"></video>
Both DASH and HLS are just text-based manifests pointing to video files, so you wouldn't convert a DASH file to an HLS file, you would generate them independently. Now that iPhones are support fragmented MP4s you can use the same video files for both DASH and HLS, whereas before you needed different files for each.