Utilisation de l’enregistreur du récepteur

Vue d’ensemble

Types de conteneurs de fichiers

L’enregistreur du récepteur offre une prise en charge intégrée de plusieurs types de conteneurs de fichiers. Pour obtenir une liste complète, consultez la page relative au _ transcodage MF _ CONTAINERTYPE. Vous pouvez prendre en charge des types de conteneur supplémentaires en écrivant un récepteur multimédiapersonnalisé. Le conteneur de fichiers est spécifié lorsque vous créez une nouvelle instance du writer du récepteur.

Formats de flux

Pour chaque flux, l’application doit spécifier les éléments suivants.

  • Le format d’entrée est le format que l’application envoie à l’enregistreur du récepteur.
  • Le format de sortie est le format qui sera écrit dans le fichier.

Les formats d’entrée et de sortie peuvent être compressés ou non compressés. Le writer du récepteur prend en charge les combinaisons suivantes :

  • Entrée non compressée avec sortie compressée. C’est généralement le cas et est utilisé pour l’encodage ou le transcodage de scénarios. Un encodeur de Microsoft Media Foundation doit être disponible qui accepte le type d’entrée et encode le type de sortie.
  • Entrée compressée avec une sortie identique. Utilisez cette combinaison pour REMUX un fichier sans transcodage.
  • Entrée non compressée avec une sortie identique. Utilisez cette combinaison pour écrire du contenu audio ou vidéo non compressé dans un conteneur de fichiers.

L’enregistreur du récepteur ne prend pas en charge le redimensionnement vidéo, la conversion de la fréquence d’images ou le rééchantillonnage audio, sauf si ces fonctions sont fournies par l’encodeur. Dans le cas contraire, l’application peut utiliser des processeurs de signaux numériques pour convertir les données d’entrée avant d’envoyer les données au

Création du writer du récepteur

Il existe deux fonctions qui créent l’enregistreur du récepteur :

  • MFCreateSinkWriterFromURL prend l’URL d’un fichier de sortie ou un pointeur vers un flux d’octets. Cette fonction crée le récepteur multimédia en interne.
  • MFCreateSinkWriterFromMediaSink prend un pointeur vers un récepteur multimédia qui a déjà été créé par l’application.

Si vous utilisez l’un des récepteurs multimédias intégrés, la fonction MFCreateSinkWriterFromURL est préférable, car l’appelant n’a pas besoin de configurer le récepteur multimédia.

La méthode MFCreateSinkWriterFromURL fournit plusieurs options pour spécifier le type de conteneur de fichiers. Dans le cas le plus simple, la fonction utilise l’extension de nom de fichier dans l’URL pour sélectionner le conteneur de fichiers. Pour plus d’informations, reportez-vous à la page de référence des fonctions.

Par exemple, le code suivant spécifie le nom de fichier « output. wmv » pour l’URL. En fonction de l’extension de nom de fichier, l’enregistreur du récepteur chargera le récepteur de média ASF pour créer un fichier ASF (Advanced Systems Format).

    HRESULT hr = MFCreateSinkWriterFromURL(L"output.wmv", NULL, NULL, &pSinkWriter);

Dans le cas de MFCreateSinkWriterFromMediaSink, le type de fichier est déterminé par le récepteur multimédia.

Enregistreur du récepteur