I am unable to play a mp4 video(H.264 Baseline, AAC) on Samsung S3, Android Version: 4.1.1, stock video player but plays on VLC. The same video plays on Galaxy Beam, Android Version: 2.3.6, stock Video Player. I want to figure out why it does not play on S3. I ran ffprobe and mediainfo on the fie:
ffprobe results:
ffprobe version 0.11.1 Copyright (c) 2007-2012 the FFmpeg developers
built on Jan 25 2013 15:16:27 with llvm_gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
configuration: --prefix=/usr/local/Cellar/ffmpeg/0.11.1 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --cc=/usr/bin/llvm-gcc --host-cflags='-Os -w -pipe -march=core2 -msse4 -mmacosx-version-min=10.7' --host-ldflags=-L/usr/local/lib --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 51. 54.100 / 51. 54.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.100 / 54. 6.100
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '86535_360p_1301310230.mp4':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isomavc1
creation_time : 2013-01-31 02:36:22
Duration: 00:03:49.53, start: 0.000000, bitrate: 799 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 699 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
Metadata:
creation_time : 2013-01-31 02:34:00
handler_name : GPAC ISO Video Handler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 96000 Hz, stereo, s16, 95 kb/s
Metadata:
creation_time : 2013-01-31 02:36:22
handler_name : GPAC ISO Audio Handler
Media info results:
General
Complete name : a.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 21.9 MiB
Duration : 3mn 49s
Overall bit rate mode : Variable
Overall bit rate : 799 Kbps
Encoded date : UTC 2013-01-31 02:36:22
Tagged date : UTC 2013-01-31 02:36:22
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L3.0
Format settings, CABAC : No
Format settings, ReFrames : 3 frames
Format settings, GOP : M=1, N=30
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3mn 49s
Bit rate : 700 Kbps
Maximum bit rate : 2 721 Kbps
Width : 640 pixels
Height : 360 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.127
Stream size : 19.1 MiB (88%)
Writing library : Zencoder Video Encoding System
Encoded date : UTC 2013-01-31 02:34:00
Tagged date : UTC 2013-01-31 02:36:22
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 3mn 49s
Bit rate mode : Variable
Bit rate : 96.0 Kbps
Maximum bit rate : 121 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 96.0 KHz
Compression mode : Lossy
Stream size : 2.62 MiB (12%)
Encoded date : UTC 2013-01-31 02:36:22
Tagged date : UTC 2013-01-31 02:36:22
I suspect the video player is more stricter on some codec header values. The level is set to 3.0 and this should be correct. Any help in figuring this out is appreciated!