Supported video formats

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


Sponsored Links
 Hi,

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?

Cheers,
Strawp
--~--~---------~--~----~------------~-------~--~----~



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?

 http://developer.android.com/guide/appendix/media-formats.html 

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 apple.com/trailers 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 <ikwall...@gmail.com> 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: http://beebhack.wikia.com/

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?

Cheers!

On Feb 12, 3:58am, Dave Sparks <davidspa...@android.com> 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 X-Calibre.mov.
get_path('sub/') -> '/home/iain/.mplayer/sub/'
[file] File size is 88817693 bytes
STREAM: [file] Wolverine__The_X-Men X-Calibre.mov
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 X-Calibre.mov
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:
0)
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 <ikwall...@gmail.com> 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. Updated apps not showing at the top of the list

I am new to posting on the market, and cant figure this out!

I have run through updating my app a couple of times in the past day
for bug fixes and such that people have found for me, but my app
doesn't seem to be showing up at the top of the "By Date" sort! I know
that I see other peoples apps jump back to the top of that sorting
when they release an update.

Please, can anyone tell me the magic secret on how to make my app do
this?

P.S. I would rather NOT have to lose all of my ratings and followers
by starting a complete new listing. I have thought about it, and
realize that this is not how other people are doing it anyway!

Does it have something to in the manifest? ARRRRRGH! I'm pissed!

Thanks


--~--~---------~--~----~------------~-------~--~----~

2. Motorola cliq with Motoblur

http://ow.ly/oRc6

Slidey keyboard and another different UI. But hey at least it's HVGA :)

Al.

-- 

* Looking for Android apps?, try http://andappstore.com/ *

======
Funky Android Limited is registered in England & Wales with the
company number 6741909. The registered head office is Kemp House,
152-160 City Road, London, EC1V 2NX, UK.

The views expressed in this email are those of the author and not
necessarily those of Funky Android Limited, it's associates, or it's
subsidiaries.


--~--~---------~--~----~------------~-------~--~----~

3. Release of SAM 3.0

4. pointer location app under emulator

5. The <keygen> tag revisite

6. Broadcast Receivers help

7. Is there anybody who have ported 3G USB modem into the android device?