Log in

View Full Version : A good format most likely to be supported everywhere?


RealNC
8th June 2013, 02:33
Hello, folks.

I'm wondering what would be the most widely supported format for video and audio these days? Meaning, if I were to create a video with audio in it, what format should the video and audio be in, and what container format should be chosen in order for people to be able to play it without the need to install any codecs/splitters (or any software) that doesn't already come with the default installation of their operating system? I should mention that features like chapter selection and multiple video and audio streams are not important in this case.

From my own research on this, it seems like MP4 with H.264 video and either AAC or MP3 audio would be the surest bet; I believe they can be played out of the box on pretty much every PC or Mac, including many Linux systems.

I've seen some people writing about AVI being the most supported format. Though in that case, what format should the video and audio be?

But I really don't know that much about video formats. Any suggestions? It doesn't have to be just one format. If there's multiple formats that are very likely to work everywhere, that would give me an idea of the choices I have.

detmek
8th June 2013, 10:08
MP4/H.264/AAC is not supported on Windows XP without 3rd party decoders. So, two foramts, AVI/Divx(Xvid)/MP3 and MP4/H.264/AAC is probably way to go.
But I don't se the problem if files will be played on PC. Every PC user installs additional decoders or uses player with additional internal decoders.

LoRd_MuldeR
8th June 2013, 15:27
I'd go with H.264+AAC in MP4, which definitely should be the most common one today. Also supported in many browser as HTML5 video.

Indeed, Windows XP does not support H.264 out-of-the-box. But the same applies to MPEG-4 ASP (Xvid/DivX and friends).

And you definitely don't want AVI with Indeo or Cinepak, the VFW Codecs that ship with Windows ;)

If you only are targeting Windows only, WMV might be your best bet on something that works out-of-the-box. But not so nice for our Linux friends.

Anyway, I think it's pretty safe to assume the user will have/find some way to play H.264+AAC in MP4 nowadays. This is 2013, not 2003 :)

Some people also suggest MPEG-2 as a widely supported format, but with Windows 8 they removed that...

Manoj Wilson
8th June 2013, 15:37
I don't think a universal format which could be played on every player be available. It all depends on what codecs the system supports on which you try to play the video file.

^ I agree that MP4/AAC is not supported but Windows XP and I have gone through the problem when I was just a beginner.

AVI with MP3 seemed to be a preferable option as it doesn't require any codecs to be installed, but then it is not supported by some mobile phones if you try to play it.

So, it all depends on the system on which you try to play it.

Lets see if any thing like that is available. Today everyone prefers the MKV format as it's pretty much supported by every other system - Recent DVD Players especially and with correct decoders used on your PC too. I doubt about mobile phones.

Looking for the future ...

LoRd_MuldeR
8th June 2013, 15:41
AVI with MP3 seemed to be a preferable option as it doesn't require any codecs to be installed, but then it is not supported by some mobile phones if you try to play it.

AVI does need additional Codecs to be installed on a Windows machine. At least if you want to use a video format that isn't from the early 1990's ;)

Yes, starting with Windows 7 there is support for MPEG-4 ASP (DivX, etc) out-of-the-box, but there also is support for H.264/MP4, so the latter sounds like the preferable solution...

RealNC
9th June 2013, 13:10
It seems MP4 with H.264 and AAC is indeed a very compatible format. And I suppose XP users already sorted that out on their own (and if not, I can always point them to ffdshow tryouts, I guess.) So thanks for the replies, guys.

Chetwood
10th June 2013, 06:27
It'd be easier to point to VLC.

Sparktank
10th June 2013, 07:49
H.264/AAC inside either an MOV or MP4 container are popular on movie websites for trailer distribution.
Also WMV but that's severely limited.

I don't see a machine where extra codecs have not been installed. I can't see it as a way of living. :(
I maintain all the codecs and updates on my machines and those of my friends as well.

Ghitulescu
10th June 2013, 08:21
You mean "everywhere but on computers only"?
There are two issues here:

legal status of codecs
availability of codecs

"Free" OSes, like linux, cannot legally use payware, unless paid for. Since the user gets the sistem free of charge that means the provided must pay for him these licence fees.
Commercial OSes, like Windows, may provide these codecs, if paid for. For instance MPEG-1 is in Windows XP, but MPEG-2 (DVD, DVB etc) not. And of course none of the newer formats like MPEG-4 and the like.
Sometimes the user may become them with certain applications (like a DVD player) but these are extra and sometimes the codecs work only with the application that installed them.
Macworld is an unknown to me territory.
Anyway, the most compatible formats are those used for internet video, as they run in any browser. I have some reserves (:) ) about their video quality.

Some free players have some usual codecs already built-in, like VLC. Your target people may be hinted to download and install it.

Kurtnoise
10th June 2013, 11:29
You mean "everywhere but on computers only"?
There are two issues here:

legal status of codecs
availability of codecs

I dont understand why you think there are issues with this...

"Free" OSes, like linux, cannot legally use payware, unless paid for. Since the user gets the sistem free of charge that means the provided must pay for him these licence fees.
that's not true everywhere regarding A/V codecs...never heard of Linux Mint ?

Ghitulescu
10th June 2013, 13:21
I don't understand why you think there are issues with this...
Because there are issues ... for instance if someone gives me a video I can't watch on my devices without investing my money in buying something extra, I refuse to do it - whether I got that video for free or, even worse, I have to buy it.

Yes, I know that most people do use codecs without paying for it, by various tricks, including installing test versions of SW comprising those codecs, but this is not a solution.

that's not true everywhere regarding A/V codecs...never heard of Linux Mint ?
No, never heard of. Do the issuers of Linux Mint pay themselves for the licences of MPEG family, or they simply direct the user to packages on servers outside the "law" like other distributions do?
But I fail to see how a singular solution solves the issue of universality as asked by the OP .... should we all give up the Windowses we paid 100€ (in the price of the laptop/desktop) and install Linux Mint? :)

I always give the advice to stick with industrial standards.

RealNC
11th June 2013, 05:01
It'd be easier to point to VLC.
That won't work. This is for a game engine port I wrote that displays video on its own. On Linux I'm using GStreamer, on Windows DirectShow. Not sure yet about OS X, but I assume I'll be also relying on the locally installed codecs. Which is why I was inquiring about the most compatible format when it comes to out of the box codec support; this is what I'll be recommending people to use in their games.

RealNC
11th June 2013, 05:19
You mean "everywhere but on computers only"?
There are two issues here:

legal status of codecs
availability of codecs

"Free" OSes, like linux, cannot legally use payware, unless paid for. Since the user gets the sistem free of charge that means the provided must pay for him these licence fees.
Illegal or not, Linux desktop systems have those codecs installed. If I would be distributing the codecs myself with my application, I would probably care about the legal implications. But since I rely on the system already having the codecs, I don't need to care :D

Distributions that do ship these codecs usually share Debian's stance on this, which boils down to "we don't expect to be sent take-down notices, but if there is one, we can remove those codecs". From Debian's patent FAQ (http://www.debian.org/reports/patent-faq):

It is not likely, however, that such an injunction would prevent distribution of the whole distro, or even of an entire package. More likely, a feature or set of features, would have to be disabled, modified so that the software no longer infringes, or removed entirely, in the country where the finding of patent infringement was made.

So far, there wasn't even a single take-down or infringement notice.

mariush
11th June 2013, 05:36
I would say the MOST COMPATIBLE with everything would be the old MPEG1. I'm not sure if all operating systems have native decoding capability but that's certainly not the case with AVI (divx, xvid codecs don't come built in) or with h264 (in the case of XP and older).

Other than lousy quality (even if you go overkill on bitrate), the format is almost 100% patent free, no licensing fees required, so you can easily make an open source/free player without worrying about it... there's even javascript players out there: http://phoboslab.org/log/2013/05/mpeg1-video-decoder-in-javascript

If you also want quality and small space I'd go for h264 and aac in mp4 container. Should play on tv's, in blurays, software players support it...

Ghitulescu
11th June 2013, 13:26
My linux doesn't have too many video codecs, for instance. My windows XP came without MPEG-2 (not that I care) and without H.264 codecs.
Also my TV doesn't play MP4 (or any other video), just JPEG photos.
And my BDplayer refuses to play anything else than BD/AVCHD/DivX-in-AVI, certain restrictions apply.

I am probably not the only one that won't dump valuable assets in the bin, and invest from 2000€ onwards for new equipment, just to watch a video :).
So it's difficult for you to find an universal format. I would suggest as well H.264, but I am confused, what has to do a game with a codec? Aren't they using DirectDraw, OpenGL and similar functions?

filler56789
11th June 2013, 16:30
I would say the MOST COMPATIBLE with everything would be the old MPEG1.

......

Other than lousy quality (even if you go overkill on bitrate)

Have you ever looked at a, let's say, 640x480 MPEG-1 video encoded with the old TMPGEnc Plus @ Constant_Quality=85%? :rolleyes:

Not all MPEG-1 encoders had to suck as much as the well-known open-source implementations, granted. :)

paradoxical
11th June 2013, 17:09
Have you ever looked at a, let's say, 640x480 MPEG-1 video encoded with the old TMPGEnc Plus @ Constant_Quality=85%? :rolleyes:

Yeah, and it's pretty crappy compared to what you could get using less bitrate using MPEG-2, MPEG-4 ASP or H.264. Saying that some codec doesn't suck when the bitrate gets inflated doesn't really make much of a convincing argument.

filler56789
11th June 2013, 19:16
Saying that some codec doesn't suck when the bitrate gets inflated doesn't really make much of a convincing argument.

According to what mariush had written, MPEG-1 would always suck, no matter how big the bitrate it was allowed to use, and regardless of the chosen encoder.

Bloax
11th June 2013, 19:34
Other than lousy quality (even if you go overkill on bitrate)
---
overkill
—n
...
2. any capacity or treatment that is greater than that required or appropriate
Where exactly does it say "MPEG-1 would always suck, no matter how big the bitrate it was allowed to use"?

I kind of doubt myself that even the best MPEG1 encoder would even scratch something like x264 - unless we go overkill on the MPEG1 bitrate so that it can match the quality.

paradoxical
11th June 2013, 20:05
According to what mariush had written, MPEG-1 would always suck, no matter how big the bitrate it was allowed to use, and regardless of the chosen encoder.

Unfortunately it does suck. MPEG-1 is terribly inefficient compared to almost any other codec developed in the last 20+ years. Yes, MPEG-1 can be made to look good but you have to inflate the bitrate to well past what any other current, mainstream codec would need.

RealNC
12th June 2013, 00:39
I would suggest as well H.264, but I am confused, what has to do a game with a codec? Aren't they using DirectDraw, OpenGL and similar functions?
For playing a video, you need to decode it. It doesn't matter whether you render the video through GL, D3D* or VMR. You still need a codec.

* Not that I'm using those; it's a simple retro-style adventure game engine with only images, video, sound and text.

mariush
12th June 2013, 00:42
I only meant to say that MPEG1 would lose much more quality compared to modern codecs no matter how much bitrate you'd throw at it. Like I said, the main benefit is that it's old enough to no longer be encumbered by patents and licenses.
Encode a 1280x720 at 60-80 mbps (if you can) mpeg1 and compare to a 1280x720 30-40mbps and it would probably still notice quality differences.
In video games, I've seen that a lot of them use Blink for video and as far as I know, that is some proprietary codec but has something about not requiring royalties. Some even say it's completely free if your game has the bink logo in the corner or about a one time 2000$ fee to get rid of it.
Fewer games I've seen using the Theora codec...so few I couldn't tell you from the top of my head.
The audio is often encoded with Ogg Vorbis since it's open source... lots of games have the background music and other things in ogg vorbis.

Ghitulescu
12th June 2013, 12:05
For playing a video, you need to decode it. It doesn't matter whether you render the video through GL, D3D* or VMR.

Gee :) I thought the games create the "video" in real time ....

RealNC
13th June 2013, 15:25
Gee :) I thought the games create the "video" in real time ....
Sometimes it looks that way when the video is used as a texture. For example a TV in the game, like in GTA4. Or cut scenes. Though of course it's less common nowadays, as GPUs are powerful enough to do this in real time now.

DarrellS
11th July 2013, 18:04
I encode everything to x264 w/ ac3 passthrough in an mkv container with Virtualdub 1.10.3 external encoder. Most TVs with built in media players, hardware media players and BluRay players will play this format where they may have trouble with mp4 with aac audio. IMO, it doesn't make sense to encode to aac when you can put the original ac3 (or DTS) in an mkv container unless you are creating the file to play on an Apple device?

Any proprietary format will have issues in certain players. Most players will play wmv9 with wma7 or wmv8 audio but will not play wmv7 or wmv8 and wma9 audio. I don't know if anything supports 5.1 aac audio.

hello_hello
12th July 2013, 15:13
I'm wondering what would be the most widely supported format for video and audio these days? Meaning, if I were to create a video with audio in it, what format should the video and audio be in, and what container format should be chosen in order for people to be able to play it without the need to install any codecs/splitters (or any software) that doesn't already come with the default installation of their operating system? I should mention that features like chapter selection and multiple video and audio streams are not important in this case.

I think you're asking a little too much there as each OS comes with different codec/container support. I'd work with the assumption if someone wants to play a video on a PC they'll have a decent media player installed, or won't mind installing one. Realistically, almost everyone does. It doesn't need to be a player which relies on system codecs, but rather a "self contained" player such as MPC-HC or VLC etc.
As a result, you could just about assume someone using a PC will be able to play pretty much any common format, so from there the next consideration would be to include hardware player support, which these days would mean mpeg4/AVI or x264/MP4/MKV.

Of course threads such as this can easily be sidetracked by "industry standard" debates, but lets face it, in order to cater to the lowest common denominator you'd need to be distributing video on discs.


I am probably not the only one that won't dump valuable assets in the bin, and invest from 2000€ onwards for new equipment, just to watch a video :).

I'd hope not too many HD DVD owners think the same way or they'd be refusing to dump their 2000€ clock. ;)

I'm fairly sure nobody's under the impression you'd need to dump valuable assets just to watch a video.
The OP asked about video formats for PC playback support. Why, if someone gave you a "non-industry standard" video to watch would you be required to dump your industry standard valuable assets in order to watch it using your PC?

Standalone USB media players are so cheap these days, in a year or so they'll probably be found as give-aways in the bottom of cereal boxes. Maybe you could consider investing in one if your current equipment doesn't play today's common formats?

foxyshadis
18th July 2013, 23:14
My experience is that there are basically zero codecs in common between XP and Win7, except Microsoft Video 1, which I really don't think you want to use (it makes Cinepak and MPEG1 look good). Obviously you don't even get that when you look to other OSes. WMV3 isn't even included in XP unless WMP7 is installed, but WMV1 & 2 & MP43 support isn't included since Vista, so WMV is out for absolute maximum compatibility.

In other words, it's an impossible request. But....

For DirectShow, you don't even need to register codecs or use registered ones. Just build your own graph from dlls at playback time, including the renderer, and don't use anything from the system but the base codecs. GStreamer similarly allows you to use Element Factories to build a playback chain. I know nothing about Quicktime, but it definitely supports AVC (constrained baseline in older versions, main and high in newer) and ASP, so one of those would be the way to go, depending on your processing needs.

marquis
16th August 2013, 03:25
You're uploading the video to the internet? Where are you uploading it? I know youtube will take a bunch of different types of files, but some people are pretty particular when it comes to what they'll have on their site. I havent found one yet that I can use on any site.