0

I am building a mobile app (first in iOS), where user records one minute video and share. I searched on Internet to find out about best practices for transcoding, but nothing fruitful showed up.

My questions are: 1) Where should I transcode the video (to h264 format .mp4), in the mobile phone or send the raw video to server and then transcode there?

2) Is it even possible to transcode video locally in iOS and Android?

3) If I send video to server, then it will consume hell lot of bandwidth of user's network :(, in other hand if I transcode video locally (if thats possible), then it will drain battery and use lots of resources.

4) Any idea what would be the average file size of 1 minute of recorded video on iOS and Android? (I know its influenced by many factors and hence differs)

I checked Twitter's android mobile app, and they send 30 seconds video to server for transcoding and from their h264 .mp4 gets accessed by their web and mobile (may be)

Any suggestion and/or pointer would be appreciated

JVK
  • 3,782
  • 8
  • 43
  • 67

1 Answers1

0

First of all you MUST transcode locally. Second, if you are in full control of capturing process then you can set the output format before starting to capture. If you are not in full control of the video capturing process then you can use ffmpeg to transcode the given video and then upload to server.

Dr. Ehsan Ali
  • 4,735
  • 4
  • 23
  • 37
  • @Eshan thanks for your suggestion. What is the reason you are giving emphasis that I should set the output format? What role will it play? – JVK Jul 27 '15 at 05:04
  • It eliminates transcoding. Instead of this : Raw Video -> mpeg4 -> h264, you can set the output to h264 and get this : Raw Video -> h264 – Dr. Ehsan Ali Jul 27 '15 at 05:57
  • To find out how to set set the output format of a captured video in Android: http://developer.android.com/reference/android/media/MediaRecorder.html#setOutputFormat%28int%29 – Dr. Ehsan Ali Jul 27 '15 at 06:00