3GP video with "jpeg" video codec

134 Views Asked by At

I have cheap feature phone which can record videos in 3gp file format. When I upload such video to computer and inspect it with mediainfo it gives mysteriuos output:

Format                                   : MPEG-4
Format profile                           : 3GPP Media Release 5
Codec ID                                 : 3gp5 (3gp5)
File size                                : 4.69 MiB
Duration                                 : 1 min 7 s
Overall bit rate                         : 585 kb/s
Encoded date                             : UTC 1970-01-01 00:02:13
Tagged date                              : UTC 1970-01-01 00:02:13

Video
ID                                       : 2
Format                                   : JPEG
Codec ID                                 : jpeg
Duration                                 : 1 min 7 s
Source duration                          : 1 min 7 s
Bit rate                                 : 571 kb/s
Width                                    : 240 pixels
Height                                   : 320 pixels
Display aspect ratio                     : 0.750
Frame rate mode                          : Variable
Frame rate                               : 9.137 FPS
Minimum frame rate                       : 3.686 FPS
Maximum frame rate                       : 17.192 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Bit depth                                : 8 bits
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.813
Stream size                              : 4.57 MiB (97%)
Source stream size                       : 4.57 MiB (97%)
Language                                 : English
Encoded date                             : UTC 1970-01-01 00:02:13
Tagged date                              : UTC 1970-01-01 00:02:13
mdhd_Duration                            : 67133

The video codec is "JPEG". When I play video in Totem Video Player, codec name is "JPEG still images". I tested that my phone doesn't support MJPEG and mediainfo shows that codec is (also) identified as MPEG-4. When I opened video in hex editor it appeared as sequences of JPEG images, which shouldn't be possible (3gp container supports H.263 and MPEG-4 not MJPEG). On the other hand sample video converted to 3gp MPEG-4 gives this mediainfo output:

Format profile                           : 3GPP Media Release 4
Codec ID                                 : 3gp4 (isom/iso2/3gp4)
File size                                : 1.84 MiB
Duration                                 : 16 s 50 ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 960 kb/s

Video
ID                                       : 1
Format                                   : MPEG-4 Visual
Format profile                           : Simple@L3
Format settings, BVOP                    : No
Format settings, QPel                    : No
Format settings, GMC                     : No warppoints
Format settings, Matrix                  : Default (H.263)
Codec ID                                 : mp4v-20
Duration                                 : 16 s 50 ms
Bit rate mode                            : Variable
Bit rate                                 : 659 kb/s
Maximum bit rate                         : 1 000 kb/s
Width                                    : 240 pixels
Height                                   : 180 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 20.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.763
Stream size                              : 1.26 MiB (69%)
Title                                    : ISO Media file produced by Google Inc.
Writing library                          : XviD 69

So as you can see technically it is also MPEG-4. Totem identifies this second video as MPEG-4. Second video is playable on my phone. My question is how can I make/encode my own 3gp video with "jpeg" video codec? Chipset of my phone is sc6531e (datasheet is avaliable in internet)

1

There are 1 best solutions below

0
On

I have figured it out, it is just Apple Quicktime MJPEG codec. It is not compatibile with 3GP container, it is intended to work with MOV. My phone just changes few bytes in header and makes it look like 3GP although it is MOV. Here are the specs: https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFPreface/qtffPreface.html.