Does MPMoviePlayerController support AVI format in iOS? - ios4

I'm able to play .mp4, .m4v formats using MPMoviePlayerController, but its not playing .avi format. MPMoviePlayerController internally would use QuickTimePlayer and this QuicktimePlayer would support AVI format, then y not MPMoviePLayerController API?
Thank You,
Suse

AVI is a container format. It can contain many different audio/video formats internally, most of which iOS does not support natively.
You may be able to decode the contents of your .AVI using the ffmpeg library. Note, however, that decoding video using ffmpeg will drain the battery considerably faster than normal, as it cannot take advantage of the hardware acceleration that MPEG4 decoding uses, and using ffmpeg may subject your application to software licensing complications (as ffmpeg is licensed under LGPL, with some GPL and non-free components).

Related

Platform support for arbitrary codecs in HEIF

Apparently, the hip way to define a new image format is to combine the ISO base media file format with an existing image or intra-frame video codec, generalized in HEIF / MIAF with existing explicit HEVC, AVC and AV1 adaptations. JPEG 2000 employs ISOBMMF in a different way.
Can I expect platforms (i.e. operating systems, browsers, ...) that support HEIF in general and a random codec in general to support the specific combination of both as well? or does every codec need custom boxes/atoms?
For instance, could I simply put VP8 or VP9 streams, as known from WebM and WebP, into a HEIF container? or more ancient, exotic or futuristic video codecs like MPEG-1/2, ASP, Ogg Theora, Daala, Thor, Dirac, Cineform, VVC, EVC? What about JPEG XL/XR/XT/LS/2K, PNG or even BMP/RLE still images?

Audio reading library for Mono

I'm trying to work with raw audio data for manipulation and playback with OpenAL. So far everything works nice and dandy since I've written my own .wav file reader and have been working with that. However, my goal is for people to import their own music. This implies that my program should support various audio formats and codecs, including atleast MP3, Ogg and FLAC.
Now unlike reading a .wav file, the other formats aren't as straightforward. Now I could possibly write my own readers and / or use wrappers of various existing libraries such as libsnd and the ogg library, but I'd rather not reinvent the wheel. So my question is: is there a library already that allows fetching the raw byte audio data from various formats in Mono?
I've taken a look at NAudio, but it's highly dependant on various Win32 API calls, which is a no-go for me as I intend to make my program multi-platform. At the moment I only care about getting the data for reading and playback purposes, I do not intend to manipulate, mix, or any other kind of computational work.
EDIT:
One important factor I forgot was licensing. I'd prefer an MIT based licensing or other open license that allow me to use the library for free in commercial software. The BASS.Net library for example is out of the question, as licensing the library is out of my budget.
EDIT2:
irrKlang does not support Mono.
After giving NAudio another try, I have noticed that they removed some dependencies on the Win32 API. I can now successfully load WAV files through Mono, and there are extensions available that support FLAC and OGG. MP3 support seems to work only for Windows due licensing issues, but that's okay.

How do I create an mp4 file from a collection of H.264 frames and audio frames?

I have a program that captures and stores H.264 encoded video as well as audio into a proprietary format file. I need to be able to export that video and audio to an mp4 file. I prefer C# but will use C++ if necessary. Any suggestions?
To produce MPEG-4 Part 14 .MP4 file you need a multiplexer. There is a choice of multiplexers out there:
FFmpeg (libavformat)
DirectShow filters (free and open source from GDCL, commercial)
Windows 7+ Media Foundation file sink
API and complexity might vary because some of multiplexers are expected to be a part of pipeline, they are not completely standalone classes. You might want to check respective samples (and license agreements, perhaps, too) to see what is best for you.
Take a look at libmp4v2. Fairly straightforward to use..
http://code.google.com/p/mp4v2/

Convert .m4p to non-DRM format (mp3, ogg)

Do you know how to convert a .m4p file (DRM quicktime) to mp3 or ogg without using expensive software (AKA with scripting) and possibly on Linux?
There is no good method for decrypting encrypted DRM quicktime files in linux. You can probably play them with quicktime via wine (just a guess), but to save them to a different format would probably be difficult. (though thinking out loud, I wonder if it be possible to have an alsa plugin that dumps every stream of audio it gets to a file as well?)

Java audio converter api

I am looking for a comprehensive API in Java that can convert audio across various formats and bitrates.
For example
WAV (6kHz to 48kHz) L16/audio ---TO--- WAV (RIFF header) 8KHz 8-bit mono A-law/U-law
AIFF (6kHz to 48kHz) L16/audio ---TO--- WAV (RIFF header) 8KHz 8-bit mono A-law/U-law
and other voice audio formats.
Any other suggestions about similar Java libraries on audio conversion are also entertained.
I was able to solve this problem by using Tritonus : Open Source Java Sound API and its wide range of sound convertor plugins.
Specifically the Tritonus miscellaneous plugins was very useful in my context.

Resources