Supported video formats

by Strawp » Wed, 11 Feb 2009 18:43:22 GMT

Sponsored Links

I'm testing out video playback and not having a great deal of luck
playing back XviD encoded files in the 3rd party Video Player app but
I've also tested out a video designed for iPhone playback (H.264, 483
x 272, 400 kbps video, 112 kbps AAC audio) and although the video
plays perfectly, I don't get any sound.

Any ideas what's up with that?


Supported video formats

by Dave Sparks » Wed, 11 Feb 2009 19:36:01 GMT

 There is no support for MPEG4-ASP required for XviD.

I'm not sure why you're not hearing sound from the MP4 clip. Is this
emulator or a G1 device? 

Some encoding tips:

H.264 (AVC) is preferred for G1 due to h/w acceleration. Max width
should be 480 (set height to match aspect ratio - most encoding
software will do this for you). Video bitstream should be no more than
500Kbps (I've pushed it higher than that, but you need a good
encoder). No b-frames.

Preferred format for audio is AAC @ 96Kbps or less.

For streaming, 'moov' atom must precede 'mdat' atom.


Sponsored Links

Supported video formats

by Strawp » Wed, 11 Feb 2009 21:46:21 GMT

 Thanks, yeah I knew by default XviD wasn't supported but various apps
on the Market claim to add support for more formats.

Anyway, the H.264 video is my main concern. I had assumed this was the
most ideal format so I've no clue what the issue is. I'm running this
on my actual device from a video file on my SD card. There doesn't
seem to be any built-in way of playing video so I'm not sure if what
I'm doing is right. I've started Android File Manager (3rd party) and
selected the file, then it gives me a list of apps to run it with, and
I get "Movies" as an option with the same icon as "Music". Selecting
that one makes it play, but without the sound. Everything else about
the app seems to work fine.

The source video had mdat before moov but it's rearranged to allow
streaming with the app that produced it. I doubt this would affect
sound data (and besides it works on other systems).

I will try a lower bitrate video. Not sure what else to try.


Supported video formats

by Strawp » Wed, 11 Feb 2009 22:16:19 GMT

 Curiously, if I grab a MOV file from and put it on
my SD card it doesn't play in Android. Just flat out refuses.

I'm wondering if there's some error I'm making in how I actually start
the video, since there only seems to be 3rd party methods for loading
up a file. Maybe it's something simple like the Movie Player is
starting muted or something.


Supported video formats

by Dave Sparks » Thu, 12 Feb 2009 11:58:59 GMT

 oviePlayer doesn't have its own volume control. It uses the master
media volume. There is no mute except for the global "silent" mode.

We should be able to play .mov files, but we haven't done enough
compatibility testing to feel confident about it, so MOV files are
currently excluded from the media scan. If you want to give it a try,
rename the file to a .mp4 extension.

If you have a sample file that you can upload, log a bug and attach
the file, and I'll have someone here take a look at it.

On Feb 11, 6:16 am, Strawp <> wrote:

Supported video formats

by Strawp » Thu, 12 Feb 2009 18:15:31 GMT

 K, I'll just give you ground-up description of what I'm trying to do.

This is my wiki:

The contributors are a few developers who've worked out how to make
third party software for using BBC iPlayer. I've already written a
java class for pulling down the iPhone H.264 video and I'm intending
to wrap it with Android GUI and make it a proper app.

Before I do that I'm just testing whether I can actually play the
video that this thing grabs, so I've used get_iplayer and iplayer-dl
to grab test videos, put them on my SD card and play them. Changing
the extension to .mp4 means they recognise MoviePlayer as the right
app to play them instead of .mov but it doesn't make any difference to
the sound missing from playback.

Now, if you want to test what I've done you have an obstacle in that
the iPlayer content is GeoIP restricted to the UK and I imagine you're
in the US. You can get around that fairly easily to test it if you
want, but I'm not going to spell it out on here because the Beeb
deserve fair use really. For the same reason I'm not going to upload a
test file online.

So, if you've managed to navigate that maze of clauses, gotten a
download app off the wiki and successfully downloaded a video off
iPlayer you'll be where I am at the moment. You can see how it's a bit
sticky though, right?


On Feb 12, 3:58am, Dave Sparks <> wrote:

Supported video formats

by Strawp » Fri, 13 Feb 2009 23:54:14 GMT

 ondering if any details from mplayer would help. Here's the output
from mplayer when I start it from the console in verbose mode on an
example video:

Playing Wolverine__The_X-Men
get_path('sub/') -> '/home/iain/.mplayer/sub/'
[file] File size is 88817693 bytes
STREAM: [file] Wolverine__The_X-Men
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename Wolverine__The_X-Men
ext: .mov
Trying demuxer 7 based on filename extension
Checking for MOV
ISO: File Type Major Brand: Original QuickTime
ISO: File Type Minor Version: 512
ISO: File Type Compatible Brand #0: qt
MOV: 'WIDE' chunk found!
MOV: Movie DATA found!
MOV: Movie header found!
MOV: Movie DATA found!
Quicktime/MOV file format detected.
MOV: Movie header (100 bytes): tscale=1000 dur=1362360
MOV: Track #0:
MOV: Track header!
tkhd len=84 ver=0 flags=0x0 id=1 dur=1362360 lay=0 vol=0
MOV: Media stream!
MOV: Media header!
MOV: Handler header: mhlr/vide () VideoHandler
MOV: Media info!
MOV: Video header!
MOV: Handler header: dhlr/url () DataHandler
MOV: unknown chunk: dinf 28
MOV: Sample info!
MOV: Description list! (cnt:1)
MOV: desc #0: avc1 (121 bytes)
MOV: Sample duration table! (1 blocks)
MOV: Syncing samples (keyframes) table! (367 entries) (ver:0,flags:
MOV: Sample->Chunk mapping table! (1 blocks) (ver:0,flags:0)
MOV: Sample size table! (entries=34059 ss=0) (ver:0,flags:0)
MOV: Chunk offset table! (34059 chunks)
MOV track #0: 34059 chunks, 34059 samples
pts=34059 scale=25 time=1362.360
==> Found video stream: 0
MOV: AVC decoder configuration record atom (51)!
MOV: avcC version: 1
MOV: avcC profile: 66
MOV: avcC profile compatibility: 192
MOV: avcC level: 30
MOV: avcC nal length size: 4
MOV: avcC number of sequence param sets: 1
MOV: avcC sps 0 have length 28
MOV: avcC number of picture param sets: 1
MOV: avcC pps 0 have length 4
Image size: 480 x 272 (24 bpp)
Display size: 483 x 272
Fourcc: avc1 Codec: 'libx264'
MOV: Track #1:
MOV: Track header!
tkhd len=84 ver=0 flags=0x0 id=2 dur=1361920 lay=0 vol=256
MOV: Media stream!
MOV: Media header!
MOV: Handler header: mhlr/soun () SoundHandler
MOV: Media info!
MOV: Sound header!
MOV: Handler header: dhlr/url () DataHandler
MOV: unknown chunk: dinf 28
MOV: Sample info!
MOV: Description list! (cnt:1)
MOV: desc #0: mp4a (115 bytes)
MOV: Sample duration table! (1 blocks)
MOV: Sample->Chunk mapping table! (1 blocks) (ver:0,flags:0)
MOV: Sample size table! (entries=63840 ss=0) (ver:0,flags:0)
MOV: Chunk offset table! (63840 chunks)
MOV track #1: 63840 chunks, 63840 samples
pts=65372160 scale=48000 time=1361.920
==> Found audio stream: 1
Audio bits: 16 chans: 2 rate: 48000
Audio header: samp/pack=1024 bytes/pack=0 bytes/frame=0 bytes/samp=2
Audio extra header: len=79 fcc=0x77617665
MOV: Found MPEG4 audio Elementary Stream Descriptor atom (39)!
ESDS MPEG4 version: 0 flags: 0x000000
ESDS MPEG4 ES Descriptor (25Bytes):
-> ESId: 2
-> streamPriority: 0
ESDS MPEG4 Decoder Config Descriptor (17Bytes):
-> objectTypeId: 64
-> streamType: 0x15
-> bufferSiz

Supported video formats

by Dave Sparks » Sat, 14 Feb 2009 05:56:28 GMT

  wonder if the problem is the 48KHz sample rate. I'm pretty sure we
test it for MP3 playback, but I'm not sure that we have any test
material for MP4 files.

I'll ask someone to look into that.

On Feb 13, 7:50 am, Strawp <> wrote:

Supported video formats

by elcadar » Sun, 01 Mar 2009 08:06:24 GMT

 Can you explain what hardware component of the G1 is providing h.264
acceleration? Are you saying there is a co-processor or that there is
support in silicon on the 7201 chip or one of the DSP's? Judging by
the h.264 performance, I didn't think it had h/w/ acceleration.


Supported video formats

by Dave Sparks » Sun, 01 Mar 2009 19:47:07 GMT

 The DSP is handling video decode.


Supported video formats

by Eric » Tue, 03 Mar 2009 02:52:36 GMT

 What profile and level is supported for H.264 video? It is basically
meaningless to say you have or support H.264 if you do not specify the
associated profiles and levels for video given the scope of the H.264
standard. The same is true for audio - which of the three AAC formats
is supported - profile and level?

Are these profiles and levels the same for all playback situations, or
do you support only lower levels for streaming situations?

As a quick background for those less familiar with modern standards
for video and audio encoding: Profile is a specification of the
complexity of the data stream (essentially describing the kind of
techniques that may be used to compress the video, you will need more
hardware or more complex codecs to decode higher profiles) while level
indicates the parameters controlling the encoding/decoding - thing
such as size of the video frame, etc. Level basically also indicates
the maximum bit rate of the data.


Other Threads

1. [WTS] Tablet Android Eken M002

Jadi dong, tapi skrg masih belajar bikin program di Androidnya, untuk 
ambil data accelerometer, compass, gps. Belajar juga tcp listenernya dan 
juga streaming out video dari camera. Harus pelan-pelan krn belajarnya 
bareng anak 7 tahun, nggak bisa ngebut sendiri.


robotnya gmana, om iggy? jadi bikin ga? :D
-- ===============

2. intents or activities run during app install/uninstall like rpm %post/%postun?

RPM lets you specify scripts that can be run at different phases of
the install/unstall process. Is there any equivalent for Android apps?
I'd like to do things like create and populate a DB for instance.



3. Apakah samsung galaxy Samsung I 5503 dpt upgrade dr Ecair ke Froyo ?

4. http pipelining

5. problem in installing android sdk in proxy network

6. Adobe Air for Andoid App - Trouble Bringing App to Foreground (actionscript 3)

7. who prevails with audio in simultaneous cell phone and VOIP calls?