Je enregistre la vidéo en utilisant l'appareil photo intégré d'Android, mais quand j'envoie au serveur via Retrofit2, la vidéo ne peut pas vu dans le navigateur.Après long temps de recherche, je sais que la vidéo que je enregistre par android, le codec est MP42
donc je dois le convertir en codec H.264
afin de le rendre jouable dans le navigateur.Comment convertir un codec vidéo enregistré par un appareil photo Android intégré?
Voici comment je capture la vidéo
private void recordVideo() {
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
fileUri = getOutputMediaFileUri();
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1);
intent.putExtra(MediaStore.EXTRA_OUTPUT,fileUri);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,15);
startActivityForResult(intent, REQUEST_VIDEO_CAPTURE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == RECORD_VIDEO_PERMISSION && resultCode == RESULT_OK){
Uri uri =data.getData(); //so the video file I get it here
Log.d("videoData",data.getData().toString());
videoView.setVideoURI(uri);
videoView.start();
}
}
Je reçois la uri de la vidéo dans onActivityResult
, la vidéo est en MP42
codec, comment puis-je convertir en H.264
?
J'ai essayé d'utiliser MediaCodec Documentation, mais je ne savais pas où entrer mon Uri
(mp42) pour obtenir la sortie en vidéo codec H.264 (que je veux jouer dans le navigateur).
Quelqu'un s'il vous plaît me donner quelques conseils ..
MP42 est un conteneur (il est aussi un MScodec mais doute est-ce le cas ici) - pouvez-vous partager un lien vers une vidéo par exemple et nous pouvons être en mesure d'aider à mieux – Mick
cette vidéo est MP42 que je dirige Téléchargez-le sur le serveur .. il suffit d'apparaître comme ceci – ken
Utilisez l'API 'MediaRecorder' pour capturer la vidéo. Pendant le code d'installation, vous pouvez choisir H.264 comme codec. –