Play any video format - macos

I need to play any kind of video in my desktop application in MAC.
I could play .mp4 videos, but I can't play .avi videos using AVPlayer.
How can I do this? Should I use AVPlayer and configure this in a different way or should I use another framework.

AVPlayer can only play a select few formats: MPEG-4 or QuickTime containers containing H.264 video and AAC or AC-3 audio, MP3 files, and very little else.
QTKit, although deprecated and much more limited in functionality, can play a much broader range of formats—whatever QuickTime can play. This includes AVI containers and most video and audio codecs.
If you want to play anything else, you will have to either use QTKit (despite its deprecation) and bundle any custom codecs you need; or find, license (if needed), and bundle a complete third-party solution.

Related

Proprietary codecs on Linux. What is legal?

So, assuming we got a distribution without proprietary codecs installed.
Let's take Linux Mint for example. I want to store and playback wav and ogg format sounds, either by using my own software, or by using another developer's software. So far so good right?
Imagine now that we have the following scenario. For some reason, I wanna playback a file that is either an mp4 or mp3 or mpeg or any other format, made by proprietary codecs. Instantly, I will need a codec for these formats.
I read somewhere that Fluendo sells solutions for "legal codec usage" for linux distros.
URL of fluendo: http://www.fluendo.com/en/
So here comes the questions:
Using VLC and ffmpeg is enough for me to convert a file to an ogg or ogv so I can playback a song or a video using an open format. You can also playback playback files made by proprietary formats. But are VLC and ffmpeg legal to use, to playback such files made by proprietary codecs? For example, ss VLC codecs okay to be used without paying anyone for mp4 playback? Is it okay to convert a file from mp4 to ogv?
If not, are there any legal and open source and free (as in freedom) codecs around that can solve the issue, or does someone have to pay a product, to be ethically correct, to the developers of the proprietaty codecs?
Note that I do not ask for Windows, since codec licenses are included to the price of the operating system. I ask exclusively for a free linux distribution.
Since #LordNeckbeard pointed me to the FAQ of FFmpeg, that I really can't believe I missed, it became clear to me that there is a problem in using proprietary codecs, thus there are some file formats that could be avoided to keep ourselves safe. Otherwise if someone can afford a license to use them too, that would be perfectly fine.
So mp3, mp4, mpeg and some more patented formats are to be avoided, if not licensed.
ffmpeg can be built so it can exclude support for such formats and if you need to use sound or video to your software ogg and ogv are nice and efficient formats as we all know.
Digging a little deeper Ι found that too.
https://www.fsf.org/resources/playogg_radiostation.pdf

playing mp3 files in firefox

Can anyone suggest me webplayer which can play MP3 files in Firefox browser?
I tried jPlayer, however it needs ogg files. I tried converting MP3 to OGA using FFMPEG, however, even the generated file is not being played in JPlayer.
Is there any alternate player which can play MP3 files in Firefox.
I don't want to use Flash.
..alternate player which can play MP3 files in Firefox.
Combine these 3 for an answer.
Java Sound for the ability to play audio.
The MP3 plug-in SPI of JMF, to supply support for MP3, which Java Sound does not support by default.
Applet - to embed that ability in a web page.
Note
I am pretty sure there are easy ways to embed sound in web pages that does not require Java, or requires plug-ins that have higher usage (like Flash). If there is not something custom you wish to do, I recommend investigating alternatives.

Should I use the MP3 or AAC codec for a .mp4 file?

We have an encoding process in place using ffmpeg on Mac OS X. This process will take a source video and a couple files from that: .m3u8 video, .mp4 video and .mp3 audio file.
By default we've used the video from our m3u8 process which is a h264 (via libx264) video with AAC (via libfaac) audio.
We are mostly using these videos on mobile devices (hence the m3u8 files) but we also use the .mp4 files for Android, Windows Phone, etc. More and more we also need to offer these same videos on the web via either a flash player or HTML5 player.
Therefore, we'd like to have the best audio/video codec combo for all these uses ... where I'm confused is to what is "standard" for a .mp4 file?
If the .mp4 uses the mp3 codec then it plays just fine everywhere but QuickTime, in QuickTime the video plays but there is not audio (works just fine in VLC player tho.)
I've been told it's due to how QuickTime uses file extensions to assume information about the video instead of trying to actually get the codec data from the file? This does make some sense, if we encode the same file but use AAC for the audio codec then it works just fine in QuickTime.
So --- what's the "correct" or "ideal" audio/video codec combo --- is it best and safe to use AAC (i.e. will it work on a broad range of devices) even though it's not a "free" codec?
Compatibility issues set aside, you might want to take into account the quality loss induced by transcoding from mp3 to aac. As your original audio is mp3 encoded, you will have a better end result by remuxing the mp3 bitstream instead of transcoding to aac (even if aac is better than mp3 at a given bitrate).
If your workflow requires lowering the bitrate of the original mp3, then my point looses relevance.
AAC is preferred because many modern devices such as tablets and mobile phones might have hardware decoders for it which will result in better battery and lower CPU consumption. Same applies to h264.
In recent years a growing number of devices have added hardware acceleration for the (HEVC) H.265 codec, but that's probably about ~half of the mobile market at best so not yet a default.
http://en.wikipedia.org/wiki/HTML5_video - scroll down for a compatibility table. Seems like either MP3 or AAC work well with H.264
Definitely use the AAC codec, as you said, it works on a wider range of devices and it is better for use in HTML5

Using Microsoft DTV-DVD Video Decoder to play H264 video

I am trying to play an H264 video with graphedit on Windows 7 32bit.
Graphedit is unable to render the file.
I tried to mount the graph manually using the Microsoft DTV-DVD Video Decoder (also know as Microsoft MPEG-2 Video Encoder) but I could not connected the filters.
Here is the pipeline I tried :
File Source >> Microsoft DTV-DVD Video Decoder >> Video Renderer (or VMR9)
I also tried this :
File Source >> MPEG-2 Demultiplexer >> Microsoft DTV-DVD Video Decoder >> Video Renderer (or VMR9)
In either case, I could not connect anything to the file source filter.
The H264 video I am trying to play is the Serenity trailer I downloaded from here : http://www.h264info.com/clips.html
Do you have any idea how I could play the h264 video file with graph edit?
Thank you
For starters. That file is an mp4, so you need an mpeg4 demuxer filter, which Microsoft does not provide for DirectShow. MediaFoundation supports it natively, but that functionality is not exposed to DirectShow. There are commercial DirectShow filters available or the open-source "ffdshow" plus "Haali Media Splitter" will do it. If your project can use the open source products, that will also provide a decoder with wide-ranging compatibility.
Assuming you don't want to use ffdshow and instead get a demuxer from elsewhere, it may or may not work with the Microsoft DTV-DVD Video Decoder. I've seen erratic results with it. A lot of content it just doesn't want to play.
One other thing is that you will likely want to use the Enhanced Video Renderer in Win7 instead of VMR9. VMR9 is neutered in Win7 (compared to XP). It's no longer compatible with dxva hardware acceleration, and the scaling is limited to the ugliest mode.
Use the File source but connect it to Geraint Davies' free mpeg4 demux available at http://www.gdcl.co.uk/mpeg4/
If you then render the output pins of the demux, the video decoder will automatically be inserted. I just tried it with the video you mentioned and it works fine.

HTML 5 batch video encoder

i need to use HTML 5 on my website.
Videos are in H.264 format.
Non-WebKit browsers, say, Firefox does't supports it. Firefox needs MPEG-4 instead.
I surfed the Web a little, but not found anything for this task.
The questions are:
Could you recommend some free batch video encoder (command-line or not), that supports all video/audio formats for HTML 5 video. I need to convert about 20 video files right now.
What more video formats should be used to be crossbrowser friendly ? I know about H.264, OGG and some WebM (never heart about it). Is there any list of supported video formats for each browser ?
Thanks
Forget to mention: i'm on a Mac
for converters I use ffmpeg and super

Resources