Transcoding beginners guide:H264,MP4,AAC,MPEG4 ASP explained

Discuss about generic usage of MediaCoder.

Moderator: HuggiL

dtechnology
Amateur
Amateur
Posts: 22
Joined: Tue Jan 19, 2010 8:55 pm

Re: Transcoding beginners guide:H264,MP4,AAC,MPEG4 ASP explained

Post by dtechnology » Tue Jan 26, 2010 3:03 am

Thanks, a few I knew myself already and had studied intensively already (especially wikipedia) but I didn't know quite a few of them. Also some contain information I didn't know yet, certainly useful. Maybe to copy (partially), why reinvent the wheel? Maybe to link to (as more advanced explanation).

I also intend to include a link glossary at the end of the guide, for further reading (especially if something cover a narrow topic in much detail)

dumpy
Amateur
Amateur
Posts: 35
Joined: Thu Dec 17, 2009 4:45 pm

Re: Transcoding beginners guide:H264,MP4,AAC,MPEG4 ASP explained

Post by dumpy » Tue Jan 26, 2010 4:25 am

I thought, because of the title, that this was a basic guide to the differences of the codecs that medicoder uses. I did not realize that this was intended more towards h264 encodes.

Therefore, My current suggestion is to clarify the topic name. If this is heavily slanted to h264 with only briefly touching on other codecs, then call it something like "The merits and practical use of h264." Because the word "general" just doesn't apply in this case. Anoncrow presents great information, now let's clarify what this guide is about so we can contribute more and keep true to the intention of your guide.

I also suggest using this page for the explanation of xvid and mpeg-4 based codecs in general: http://www.xvid.org/Xvid-Video.3.0.html
It is written very well for novices.

I also suggest this site: http://en.wikipedia.org/wiki/Motion_compensation and this site: http://www.john-wiseman.com/technical/MPEG_tutorial.htm
For the understanding of motion compensate used in video compression. Ideally, I would explain that the most important implication of this technology is that video with lots of motion will require higher bitrate than a movie with little motion.

Frame types: http://en.wikipedia.org/wiki/Video_comp ... ture_types

H264 explained: http://www.sourcesecurity.com/news/arti ... .2806.html



**edited**
Last edited by dumpy on Tue Jan 26, 2010 11:11 am, edited 6 times in total.

dumpy
Amateur
Amateur
Posts: 35
Joined: Thu Dec 17, 2009 4:45 pm

Re: Transcoding beginners guide:H264,MP4,AAC,MPEG4 ASP explained

Post by dumpy » Tue Jan 26, 2010 11:00 am

I apologize.
Suggestion taken mixer. Have PM'd comments to dtechnology and came to understanding that we don't differ too much on opinions regarding use of codecs - just the way we say it. Old academic habit of mine; I write things very formally and take the things other say very literally. I have left the subject matter most pertinent and helpful to novice readers.

I will summarize that I think the most helpful information to give to novices is that Hardware and what content a person is dealing with is ultimately the deciding factor of what codec and settings therein that a person uses for video conversions. Letting novices know this will help them understand that learning a little bit about this process is paramount if they actually want their conversions to work. I just ask to include this information as a disclaimer up front to let novices know what they are in for. And I would suggest that we write the guide not just for the newest hardware, but also older things that people already own and will continue to use for several more years.


**edited**

meRobs
Expert
Expert
Posts: 3116
Joined: Tue Jun 23, 2009 2:45 pm
Location: Sydney, Australia

Re: Transcoding beginners guide:H264,MP4,AAC,MPEG4 ASP explained

Post by meRobs » Tue Jan 26, 2010 12:52 pm

I would like to suggest that a Guide should, by definition, be helpful, unambiguous and internally self consistent, as you already know.
There is a lot of stuff (advice) already on the web and since much of it is based more on opinion than on fact, the overall effect is confusion!

Hence, I agree with the sentiments of dumpy: to keep the Guide simple (for beginners) with minimal jargon, in simple English and be free of personal opinions where possible. If a statement is only an opinion it should be prefaced by comments like 'As far as I know', 'Based on my tests' or "It seems to me that', etc.

I would assume that dtechnology has these same intentions and that his early comments are just drafts; aimed at triggering comment from the rest of us.

Keep up the good work, dtechnology.
I don't envy you the task of trying to trim the enormous amount of available detail on the large number and type of Codecs & containers, etc, distinguish between fact and opinion and minimize what you present to the bginners in the Forum. And, of course be relevant to the aims of MediaCoder!
As has been suggested, maybe you could simplify your Guide by including links to reliable sites, especially for topics beyond a simple summary or for extra detail?

Good luck.
Have you checked out the Tips & Guides for MediaCoder? Try: http://forum.mediacoderhq.com/viewtopic.php?f=17&t=8061
Also, get older builds at: http://www.videohelp.com/tools/MediaCoder/old-versions#download

dtechnology
Amateur
Amateur
Posts: 22
Joined: Tue Jan 19, 2010 8:55 pm

Re: Transcoding beginners guide:H264,MP4,AAC,MPEG4 ASP explained

Post by dtechnology » Tue Jan 26, 2010 9:11 pm

meRobs wrote: Hence, I agree with the sentiments of dumpy: to keep the Guide simple (for beginners) with minimal jargon, in simple English and be free of personal opinions where possible. If a statement is only an opinion it should be prefaced by comments like 'As far as I know', 'Based on my tests' or "It seems to me that', etc.
Because of all of the comments, I'm currently planning on using the following sign whenever I write an opinion ;)
Image

No, but seriously: I intend to write the main text using opinions if necessary (for easy reading or to avoid confusion) and to nuance those in a separately marked box (the way some textbook mark "additional info"). While I try to keep things unbiased, I'll even more try to keep things simple. And that sometimes means I sometimes need to call upon the evil sorcery of stating opinion as semi-facts.

A metaphor: I currently study at a university in the Netherlands. They let us tough nothing but Java for the first half year. Not because they think Java is the greatest thing since sliced bread, but they did think it was a relatively complete programming language with "the greatest common divisor". They wanted us to fully grasp programming (with Java) before explaining others. Not because they wanted to indoctrinate us, no, on the contrary: they didn't want to tell us "C is good for speed", "Functional programming is great, use Haskell", "PHP is an easy scripting language but has the potential to cause messy and bug-ridden code". No, they wanted us to fully understand the differences so we could understand it ourselves. That is exactly what I want to do with my guide. And since H.264 is (to me) the most promising current codec I'll use that one. That does not mean this guide will be solely about H.264, it does mean that this guide will use H.264 to explain general principles.
Of course, when possible I will simply state facts.

I've sent the following PM to several people PM'ming me. I will also post it here. The tone is a bit harsh:
dtechnology wrote:A long post. I I have the time or willpower to read through more direct-attacks that look fully like they are going to a flamewar.
I've scanned it quickly and saw nothing too new or interesting.
I will clearly reiterate my statements. I expect the matter will be done with this. If you have serious remarks, you are welcome to make them in the topic or by PM. Otherwise just leave me alone until the guide is finished. As I will be releasing it under CC you are free and welcome to make your own version of it.
  • I did not (nor do) claim that I am 100% right. I'm not on a level that allows me to list the x264 options with description out of the top of my head. I am simply someone with moderate to advanced knowledge who would like to share it by making a guide
  • I did not (nor do) claim that I intend to only intend to explain H.264. I do claim that it is a modern, flexible and widely supported codec (especially on modern devices) that has almost all of the bells and whistles any other code has (or has not). It also is a codec beginners get stuck on and are interested in. Because of this reasons, I felt it was a good idea to describe general transcoding through this codec
  • The current version of the guide is hardly a draft, hardly a complete set-up even. While the style and some contents will make it to the final one, it is intended merely as an appetizer and a way for me to receive feedback early on. (and you seem to have a broad definition of feedback)
  • I will mention all modern and well-used containers and codecs in the guide. I simply will also state their advantages and disadvantages. My personal opinion is that, at this moment, the combination H.264, .mp4/.mkv and LC-AAC has the best compromise of quality, flexibility and compatibility. That is my personal opinion
  • I do agree that other codecs might be better to use in different situations. However, since this is a beginners guide, I will not confuse them by explaining them in detail (I will add a few scenario's add the end that explain/require/recommend different codecs, but they will not be part of the main text of the guide). Rather I want to give them the tools to find out themselves.
  • I, again, am not perfect. Nor do I claim to be. If I thought I was perfect I wouldn't have openend the topic and asked for feedback.
I plan to have a full table of contents and an initial draft of a large portion of the guide by the end of this week.

dtechnology
Amateur
Amateur
Posts: 22
Joined: Tue Jan 19, 2010 8:55 pm

Re: Transcoding beginners guide:H264,MP4,AAC,MPEG4 ASP explained

Post by dtechnology » Wed Jan 27, 2010 9:49 pm

For some of my views on profiles and levels, see this post.

Initial table of contents:

Code: Select all

1. How to use this guide
2. General knowledge needed for transcoding
    a) Computing knowledge (bits, bytes, bitstream, bits/s etc.)
    b) Encoding, Decoding and trancoding terms (containers, codecs, streams, bitrate etc.)
    c) Files 'n streams (files, streams, channels, streaming, source, target etc.)
    d) Other information (...)
3. Transcoding explained through H.264 and LC-AAC and .mp4
    a) H.264 specifics (levels, profiles)
    b) Source file scenarios
    c) target file scenarios
4. Advanced encoding terms
    a) General (...)
    b) Common (B-Frames, P-frames etc.)
    c) Advanced and new (...)
5. Other video codecs
    a) MPEG4 ASP (Divx, Xvid, WMV7)
    b) Flash formats (On VP etc., H.263)
    c) MPEG2
    d) OGG Vorbis and Theora
    e) More exotic codecs
6. Other audio codecs
    a) HE-AAC, HE-AACv2
    b) FLAC and other lossless formats
    c) MP3
    d) more exotic codecs
7. Containers
    a) AVI
    b) MP4
    c) MKV
    d) MPEG2-PS, MPEG2-TS
    e) more exotic containers
8. Further reading
9. Appendices

Post Reply