2013-05-08 3 views
0

Мы хотим создать видео, которое можно воспроизводить на всех устройствах Android. Как мы должны указывать формат видео, чтобы он воспроизводился практически на всех устройствах Android?Формат видео в Android

Производственная компания, мы работаем с предложил:

Container = QuickTime Movie 
Frame Size = 1280 x 720 
Frame Rate = 30 fps 
Codec = ProRes HQ (if alpha channel is needed, use ProRes 4444) 
Audio = PCM - 48khz, 16bit (if needed) 

Я думаю, что совершенно неправильно. Они ничего не знают о Android и ничего не знают о них и просто предлагают вещи, которые работали для них с iOS. Файлы .Mov вообще не воспроизводятся на Android.

Я думаю, что это универсальный формат, в том числе специально «будет играть на Android»:

container format = .mp4 (MPEG4) 
codec = "H.263", 
audio codec = AAC-LC 

Может кто-нибудь, кто имеет практический опыт видео на Android дать свои рекомендации по этому вопросу? Спасибо, Peter

ответ

1

Существует совсем немного деталей here и here.

Резюме:

  • H.264 Baseline Profile, 480 х 360 точек, 30 кадров в секунду, 500 Kbps
  • AAC-LC, Stereo, 128 Kbps
+0

Спасибо за ссылки, Пол. Я прочитал эту страницу (все это, а не только два раздела, которые вы связали) ранее, но обнаружил, что некоторые из них запутывают. Что означает «•» в столбцах кодека? –

+0

Пуля означает поддержку, но только на определенных платформах, если она указана в скобках. –

1

1280 * 720 - большое разрешение для любых устройств Android, и оно не будет работать на всех устройствах ... Я использую 640 * 480 и работаю на всех устройствах, которые я проверю. . вот мой код

это.mediaRecorder = new MediaRecorder(); это.mediaRecorder.setCamera (это.камера);

this.mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); 
this.mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
this.mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); 


this.mediaRecorder.setMaxDuration(10000); 


this.mediaRecorder.setOutputFile(this.initFile().getAbsolutePath()); 
this.mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); 
this.mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 
this.mediaRecorder.setVideoSize(640,480); 
this.mediaRecorder.setVideoFrameRate(12); 





try { 
    this.mediaRecorder.setPreviewDisplay(this.cameraPreview.getHolder().getSurface()); 
    this.mediaRecorder.prepare(); 




    // start the actual recording 
    // throws IllegalStateException if not prepared 
    this.mediaRecorder.start(); 
    Toast.makeText(this, R.string.recording, Toast.LENGTH_SHORT).show(); 
    // enable the stop button by indicating that we are recording 
    this.toggleButtons(true); 
} catch (Exception e) { 
    Log.wtf(TAG, "Failed to prepare MediaRecorder", e); 
    Toast.makeText(this,"record nathi thatu...", Toast.LENGTH_SHORT).show(); 
    this.releaseMediaRecorder(); 
} 

}

+0

Я не думаю, что он спрашивая о записи видео на устройстве. Скорее, формат и кодировка будут поддерживаться всеми устройствами Android. –

+0

Да, разъяснение Павла правильное - мы нанимаем арт-дом для создания видео в нашу спецификацию. Однако, учитывая их ужасное незнание о платформе самого высокого уровня в компьютерной индустрии, мне теперь интересно. Возможно, они знают больше об искусстве, чем о Android. Спасибо всем - очень полезно. –

Смежные вопросы