PDA

View Full Version : Which 3gp encoders are among the best?


odyssey
4th October 2006, 00:50
First, don't flame me for not searching - I've been through a bunch of posts without anything useful, and the fantastic search function is of course not returning anything less than 4 chars.

Which 3gp encoders are among the best? I can see a LOT of different software from misc. providers, but which ones does the job with maximum quality at a minimum space? Multipass encoding is preffered.

I decided to play around with 320x240 size for use in my phone - Are there any recommendations regarding this size?

Could I keep the 25fps framerate maybe just with VFR option?

How many B-frames are suitable between I-frames, to keep quality decent with a low filesize?

I saw that the recommended audio stream should be mp3 - But nero digital aac encoder does a way better job, couldn't this be used?

I hope to get some useful answers :)

Blue_MiSfit
4th October 2006, 09:52
depends on the phone.

I had a Motorola e815.

I could do simple profile xvid @ 30 fps at I think 160x120 no bframes, though I don't remember. Audio was CBR MP3 @ 56k mono IIRC.

I just used plain old virtualdub, and then mp4box to mux to MP4.

Sorry I cant remember more..

bond
4th October 2006, 20:40
3gp is a container, not a codec format

define what audio and video formats your phone supports

odyssey
6th October 2006, 00:14
See you learn every day :-)

Actually I did not buy the phone yet, but wanted to play around with the formats for the phone.

I'm expecting to buy Sony Ericsson W850i which has just been launched - Does anyone know what format this (or SE in general) supports? I saw a 3GP clip recorded from a recent Nokia phone, which was 3GP with a H264 stream muxed, so i went to fool around with the X264 encoder.

Here's my unoptimized commandline for a 320x180 clip:

x264 -B 192 -p 1 --stats stats -o NUL test.avs
x264 -B 192 -p 2 --stats stats -o output.mp4 stream.avs

Why am I unable to use something like this with QuickTime player:
x264 -B 192 -p 1 --stats stats -w -b 6 --b-pyramid -r 3 -o NUL stream.avs
x264 -B 192 -p 2 --stats stats -w -b 6 --b-pyramid -o output.mp4 stream.avs

I guess I'm doing something wrong, I just wanted to tune this low-bitrated video to the best quality, eventually using VFR (does X264 even support this?)

bond
6th October 2006, 01:06
phones are surely very picky for what they support and what not

best would be to grab a .3gp file that works on the phone for sure and analyse this in detail and try to create own files that are similar to the source 3gp file

if the phone supports h.264 (which i very much doubt) you should demux the stream to raw .264 with mp4box/yamb and then rune the h264_parse tool from mpeg4ip over it to see the stream info
then the best would propably be to post the header info (or the file itself) on doom9 so we can look at it to tell you what options to use in x264 and which ones to better not use

still the most important thing is to get your hands on a file that for sure works on the phone

Drachir
6th October 2006, 08:49
I'm expecting to buy Sony Ericsson W850i which has just been launched - Does anyone know what format this (or SE in general) supports? I saw a 3GP clip recorded from a recent Nokia phone, which was 3GP with a H264 stream muxed, so i went to fool around with the X264 encoder.


According to this pdf http://developer.sonyericsson.com/getDocument.do?docId=87518 it should support H.264 in 3gp.

Video(including audio part):
MP4 (video: MPEG4, audio: AAC) .mp4
3GP (video: MPEG4 or H.263, H.264,audio:AAC or AMR) .3gp
RealVideo® 8



Video coding:
MPEG-4 Simple Visual Profile Level 0
H.263, H.264 Baseline Profile Level 1,
RealVideo 8, WMA 10 (Windows Media Audio)



According to this pdf only 176x144 (H.264 Baseline Profile Level 1) is supported.
I would take a look at some Nokia cell phones too:
http://www.forum.nokia.com/main/resources/technologies/audiovideo/index.html

odyssey
6th October 2006, 09:51
According to this pdf only 176x144 (H.264 Baseline Profile Level 1) is supported.
I would take a look at some Nokia cell phones too:
http://www.forum.nokia.com/main/resources/technologies/audiovideo/index.html

Wow great datasheet!! Thanks:)

That resolution is when recording using the camera (I guess).

Drachir
6th October 2006, 11:41
That resolution is when recording using the camera (I guess).

I guess it is only QCIF 176x144 for playback.
Here is an other document for Sony Ericsson:
http://developer.sonyericsson.com/getDocument.do?docId=84942

odyssey
6th October 2006, 12:55
Then, why the f** did they implement a 320x240 pix screen???

Drachir
6th October 2006, 14:52
Then, why the f** did they implement a 320x240 pix screen???
I would recommend a Nokia cell phone. ;)

I have a Nokia E60, a nice cell phone. It doesn't support H.264 but MP4(Video: MEPEG 4 SP Level 3 (352x288),Audio: aac+sbr) plays fine.
You can see the difference between MPEG 4 SP Level 0 (176x144) and MEPEG 4 SP Level 3 (352x288) on the small screen.

Only drawback with the Nokia E60 is that the battery is to fast empty if you use WLAN.

I would recommend a Nokia cell phone. Maybe the Nokia N80 or N91 fit your needs?

odyssey
7th October 2006, 02:12
Sorry but I have totally fallen in love with the W850i, and I miss having a SE phone. I would find a place to play around with it to see what it supports and are capable of. I hardly believe that it's unable to take advantage of the big screen.

Hyper Shinchan
23rd October 2006, 18:29
Drachir do you know why the sony's pdf gimme a "file not found" page? Is it me?

MrPiercer
23rd October 2006, 19:06
then the best would propably be to post the header info (or the file itself) on doom9 so we can look at it to tell you what options to use in x264 and which ones to better not use

Here's an example shot with the camera in my Nokia N73. I too am VERY curious about what I can use, format-wise...
So, if you can find the time, please do look at this little file.
:helpful:

odyssey
23rd October 2006, 19:07
Here's an example shot with the camera in my Nokia N73. I too am VERY curious about what I can use, format-wise...
So, if you can find the time, please do look at this little file.
:helpful:

Check that with Quicktime player. It shows the codec in the fileinfo.

MrPiercer
23rd October 2006, 19:26
It doesn't give any details about codec settings.. :(

bond
23rd October 2006, 20:16
Here's an example shot with the camera in my Nokia N73. I too am VERY curious about what I can use, format-wise...
So, if you can find the time, please do look at this little file.
:helpful:* Movie Info *
Timescale 10000 - Duration 00:00:01.600
Fragmented File no - 2 track(s)
File Brand mp42 - version 0
Created: GMT Tue Oct 24 17:01:34 2006

File has no MPEG4 IOD/OD

Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:00:01.600
Media Info: Language "Undetermined" - Type "vide" - Sub Type "mp4v" - 22 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x20
MPEG-4 Visual Size 352 x 288 - Simple Profile @ Level 2
Pixel Aspect Ratio 1:1 - Indicated track size 352 x 288
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 16000 - Duration 00:00:00.704
Media Info: Language "Undetermined" - Type "soun" - Sub Type "mp4a" - 11 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 1 Channel(s) - SampleRate 16000
Synchronized on stream 1Video Object Sequence
profile_and_level_indication - 0x2
Visual Object
is_visual_object_identifier - 0
visual object type - 1
video_signal_type - 1
video_format - 5
video_range - 1
colour_description - 1
colour_primaries - 2
transfer_characteristics - 2
matrix_coefficients - 2
Video Object - 0
Video Object Layer
random_accessible_vol - 0
video object type - 1
is_object_layer_identifier - 0
aspect_ratio_info 1
vol_control_parameters - 0
video object layer shape - 0
vop_time_increment_resolution - 30000
fixed_vop_rate - 0
vol width - 352
vol height - 288
interlaced - 0
obmc_disable - 1
sprite - 0
not_8_bit - 0
quant_type - 0
complexity estimation - 1
resync_marker_disable - 0
data partitioned - 0
scalability - 0
Track Type Info
1 video MPEG-4 Simple @ L2, 1.600 secs, 691 kbps, 352x288 @ 13.750000 fps
2 audio MPEG-4 AAC LC, 0.704 secs, 48 kbps, 16000 Hztracks 1
mp4file 20061023003.mp4, track 1, samples 22, timescale 30000
sampleId 1, size 8440 time 0(0) VOP-I
sampleId 2, size 5592 time 2000(66) VOP-P
sampleId 3, size 10453 time 4000(133) VOP-P
sampleId 4, size 7189 time 6000(200) VOP-P
sampleId 5, size 6223 time 8000(266) VOP-P
sampleId 6, size 5432 time 10000(333) VOP-P
sampleId 7, size 11275 time 14000(466) VOP-P
sampleId 8, size 5133 time 16000(533) VOP-P
sampleId 9, size 7692 time 18000(600) VOP-P
sampleId 10, size 7325 time 20000(666) VOP-P
sampleId 11, size 6901 time 22000(733) VOP-P
sampleId 12, size 7369 time 26000(866) VOP-P
sampleId 13, size 8658 time 28000(933) VOP-P
sampleId 14, size 8500 time 30000(1000) VOP-P
sampleId 15, size 9045 time 32000(1066) VOP-P
sampleId 16, size 12118 time 34000(1133) VOP-I
sampleId 17, size 5650 time 36000(1200) VOP-P
sampleId 18, size 5531 time 38000(1266) VOP-P
sampleId 19, size 8164 time 40000(1333) VOP-P
sampleId 20, size 4747 time 42000(1400) VOP-P
sampleId 21, size 5605 time 44000(1466) VOP-P
sampleId 22, size 5989 time 46000(1533) VOP-P

MrPiercer
23rd October 2006, 21:15
And the container is 3gp? Or is it MPEG-4?

Thanks so far! :)

bond
23rd October 2006, 21:18
the filebrand says its .mp4

Drachir
23rd October 2006, 21:28
the filebrand says its .mp4
But there is no IOD and BIFS/OD Track. :angry:

Ok you probably don't need it at a cell phone, but why don't they use 3gp then?

odyssey
23rd October 2006, 21:50
But there is no IOD and BIFS/OD Track. :angry:
What's that?

Drachir
24th October 2006, 12:32
An IOD( Initial Object Descriptor) is a box/atom in mp4 files with BIFS Tracks. The IOD contains the Object Descriptor for the BIFS Track and in files with audio/video or more then one BIFS Track the Object Descriptor for the OD Track.
Beside that you can find profile information inside the IOD.

The BIFS Track(scene description) contains information how the used media objects have to be presented by the player.

The OD(Object Descriptor) Track contains description about the used elementary streams(Tracks) and Object Descriptor Commands.

For more info look here: http://www.chiariglione.org/mpeg/standards/mpeg-4/mpeg-4.htm

Hyper Shinchan
24th October 2006, 17:01
But there is no IOD and BIFS/OD Track. :angry:

Ok you probably don't need it at a cell phone, but why don't they use 3gp then?
Apple's M4A,M4V don't use an IOD, it's not so essential in a MP4 file, after all (but I like to use it, when possible). BTW 3GPP specs doesn't explicitly forbid the usage of an IOD, but they says that it can be ignored by a complaint reader. But for example the 3GPP AAC Plus reference encoder sets an IOD.

Drachir
24th October 2006, 18:13
In files with main ftyp set to "mp42" (ISO/IEC 14496-14(MP4 file format)) the IOD and BIFS/OD Track have to be there to match this standard, if there is an audio and video track.

Apple m4v and m4a files are not conformance to ISO/IEC 14496-14(MP4 file format). Apple m4v or m4a files don't claim to be conformance to ISO/IEC 14496-14(MP4 file format), the main file brand in this files is set to "m4v " or "m4a ".

In 3GP you can use IOD and BIFS/OD Track, if you like, but then you have to write "mp42" into the list of compatible brands, if I am remember right.
I am not sure if it is right to use BIFS/OD Tracks in 3gp files
[EDIT2]You can find this text in 3GPP TS 26.244:
...tracks relative to MPEG-4 system architectural elements (e.g. BIFS scene description tracks or OD Object descriptors) are optional in 3GP files and shall be ignored.[EDIT2]

Hyper Shinchan
30th October 2006, 17:11
[QUOTE=Drachir;891895]In files with main ftyp set to "mp42" (ISO/IEC 14496-14(MP4 file format)) the IOD and BIFS/OD Track have to be there to match this standard, if there is an audio and video track.

Apple m4v and m4a files are not conformance to ISO/IEC 14496-14(MP4 file format). Apple m4v or m4a files don't claim to be conformance to ISO/IEC 14496-14(MP4 file format), the main file brand in this files is set to "m4v " or "m4a ".
you're right, I haven't noticed that the ftyp was mp42.