My video has no sound or picture, what could be causing this? Why am I not using the right codec? What is a codec anyway?
How do I know I have a CODEC problem?
After you have created a flash player for an MP4 video, it may be lacking either audio or video, or both. This could be caused by using an unsupported codec
What is a codec?
A codec is an algorithm that reduces the file size of the video or audio, usually by finding and eliminating redundancies in the data (i.e. repeats in the data, such as the same colored background)
The term codec is an acronym from 'COmpression/DECompression' -- as it compresses and decompresses data to change file size
There are numerous codecs, each targeted at a different platform - from mobile devices to flash players to even the household DVD player
Some are intended to maximize the data that can be stored in a given amount of disk space - such as the lovely quality you can witness in blu-ray discs
Others are used to minimize file transfer time on the web, such as for flash videos - which are at the heart of this article
Is MP4 a codec? What about FLV?
A common source of confusion can be the difference between a container format and a codec, especially in reference to flash video players
MP4 and FLV format are both container formats for flash
An analogy that might demystify the problem is to think of the container format as a book binding that holds the codec - and the codec as the language that the book is written in - fitting because different languages convey the same message in different lengths
Imagine you were to see a cook book written in Japanese, if you did not speak Japanese you would still recognize that it's a cook book - even though you would not be able to read the recipes
It is the same for flash video players -- an MP4 container can contain numerous different audio and video codecs - but will only work if the codecs used are supported by flash
It's similar to asking you to be able to read and write in a language you have no prior experience with. In the case of flash video players, you will receive no audio, no video or even nothing at all when incompatible codecs are used - even if you're using a supported container format such as MP4 or FLV
Which codecs can I use with MP4?
Currently flash player only supports a limited amount of codecs and container formats
The combination of the popular MP4 container format and the h.264 codec also known as MPEG-4 Part 10 or Advanced Video Coding (AVC) is quickly becoming the standard for online video - the quality and versatility when it comes to the number of devices supported makes it an ideal choice
How can I tell if I am using the right codec?
You can find a list of supported codecs here:
If you encode your video to these standards you should have no problem when you go to create a player
On the other hand if you are dealing with a video that has already been encoded then you will want to check the codecs by using MediaInfo (a free and open source codec checker)
Once you have installed MediaInfo, all you will need to do is drag and drop your MP4 video into the open program window
You should see a basic view of the container and general information - if not, simply select View, then Basic
Since we only want to confirm that we are using compatible codecs, there is no need to see an in-depth display of the file
Look where it says 'First Video Stream' and 'First Audio Stream' - there should be no more than one stream for each - any more and your file will not play in a flash player
Confirm that you see AVC, H.264 or MPEG-4 Part 10 in the video stream and AAC, HE-AAC, MP3, or ADPCM in the audio stream
If not, then you will need to encode the file with supported codecs
How do I change the codecs if they're wrong? How do I re-encode?
Now that you know you're using an unsupported codec, you have to re-encode your video
There are countless transcoding programs available - a free program that offers an excellent array of options is MediaCoder, download here: http://www.mediacoderhq.com/download.htm
For Apple Mac, you may want to use a different encoding program or you can run MediaCoder in Darwine
Guide to running MediaCoder in Darwine here: http://forum.mediacoderhq.com/viewtopic.php?t=2764
Alternatively, you can use the less powerful MPEEG Streamclip, which you can download here: http://www.squared5.com/