1

I'm creating 3GP videos with the Android - however, when the 3GP files are posted on a site, the same Android phone cannot view it back. (The file works on the iPhone).

What is right way to encode/resize the 3GP video so that the video player on Android can play it back?

Thanks

RedNax
  • 1,507
  • 1
  • 10
  • 20
  • Use `adb logcat`, DDMS, or the DDMS perspective in Eclipse to get at the *warnings* that the media subsystem prints, so you can get more information on why the video is not playing back. – CommonsWare May 19 '10 at 11:56
  • Thanks. I'm actually looking more of uploading the recorded 3GP file onto a website, and then viewing from the browser. It's very strange that the video loads on iPhone, but on the Android, it says that it cannot play the format. If the file is selected within the Android file system, it would work though - but not when it goes via the Internet. – RedNax May 20 '10 at 07:59

3 Answers3

0

Solved this by converting it to MP4 and then recompiling the Nginx server to have the MP4 streaming module. By default, Nginx mimetype was set to [application/octet-stream] instead of [video/mp4].

RedNax
  • 1,507
  • 1
  • 10
  • 20
0

This seemingly was resolved on Froyo handsets - at least, when a 3gp file is opened in a browser window using http, and not rtsp, the video plays fine. On 2.1 it doesn't.

danp
  • 14,876
  • 6
  • 42
  • 48
0

To make mp4 video streamable, you should change it's 'atom' byte order. I'm using qt-faststart tool from ffmpeg package for this.

This tool changes the order of some meta-data inside mp4 container and as result allows to perform video "streaming" over HTTP.

Vadim
  • 5,154
  • 2
  • 20
  • 18