2010-05-12 31 views
1

Je suis en train d'encoder de la vidéo sur l'iPhone en exécutant les données d'image png via swscale pour obtenir les données YUV420P puis en encodant cette image en utilisant le codec MSMPEG4V1. Dans les documents api, avcodec_encode_video doit renvoyer le nombre d'octets utilisés à partir du tampon de sortie par cette opération de codage. Il y a 234 000 octets dans l'encodeur, mais le résultat retourné par avcodec_encode_video est simplement "4". Le résultat est exactement le même sur 24 images. Quelque chose semble louche ici ... un aperçu?FFmpeg + iPhone - Intéressant (incorrect?) Résultats d'encodage vidéo

est ici un lien pastebin au code:

http://pastebin.com/ht94FWva

(désolé pour le lien loin de, je ne voulais pas avoir le code dupliqué en plusieurs endroits)

EDIT :

En outre, j'ai configuré un rappel de journal personnalisé pour ffmpeg à utiliser et j'ai le niveau de journal défini sur "Verbose" (libavutil/log.h), donc libavcodec devrait consigner tous les goofs à la console, mais avcodec est calme à travers tout opération. (note: j'ai fait un test pour m'assurer que mon rappel de journal fonctionnait)

Répondre

0

Pourrait être lié au codec. Je l'ai fait passer du codec MSMPEG4V1 à MPEG1VIDEO et avcodec_encode_video retourne des valeurs un peu plus conformes à ce à quoi je m'attendais.

Questions connexes