2010-02-22 5 views
2

Je travaille avec une bonne qualité usb camera pour le moment. La qualité vidéo de la caméra est assez bonne lorsqu'elle est vue dans la visionneuse fournie avec les pilotes (je présume qu'elle est implémentée en C++). Et comme prévu Flash ne peut pas offrir le même niveau de qualité.Flash: Amélioration du débit/qualité de la caméra

Mais quelles sont mes options pour améliorer la qualité d'un flux vidéo local entrant dans Flash, étant donné que j'ai un contrôle complet de l'installation sur la machine locale sur laquelle le flash fonctionne?

Répondre

2

utiliser la fonction publique setQuality (bande passante: int, qualité: int): void

voir: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/media/Camera.html#setQuality%28%29 pour plus d'informations

Version du langage: ActionScript 3.0 Runtime Versions: AIR 1.0, Flash Player 9

Définit la quantité maximale de bande passante par seconde ou la qualité d'image requise pour le flux vidéo sortant actuel. Cette méthode n'est généralement applicable que si vous transmettez une vidéo à l'aide de Flash Media Server.

Utilisez cette méthode pour spécifier l'élément du flux vidéo sortant le plus important pour l'utilisation de la bande passante de l'application ou la qualité de l'image.

* To indicate that bandwidth use takes precedence, pass a value for bandwidth and 0 for quality. Flash Player transmits video at the highest quality possible within the specified bandwidth. If necessary, Flash Player reduces picture quality to avoid exceeding the specified bandwidth. In general, as motion increases, quality decreases. 
* To indicate that quality takes precedence, pass 0 for bandwidth and a numeric value for quality. Flash Player uses as much bandwidth as required to maintain the specified quality. If necessary, Flash Player reduces the frame rate to maintain picture quality. In general, as motion increases, bandwidth use also increases. 
* To specify that both bandwidth and quality are equally important, pass numeric values for both parameters. Flash Player transmits video that achieves the specified quality and that doesn't exceed the specified bandwidth. If necessary, Flash Player reduces the frame rate to maintain picture quality without exceeding the specified bandwidth. 

paramètres de bande passante: int - Spécifie la quantité maximale de la bande passante que le flux vidéo sortant de courant peut utiliser, en octets par seconde. Pour spécifier que la vidéo Flash Player peut utiliser autant de bande passante que nécessaire pour maintenir la qualité, passez 0 pour la bande passante. La valeur par défaut est 16384.

quality:int — An integer that specifies the required level of picture quality, as determined by the amount of compression being applied to each video frame. Acceptable values range from 1 (lowest quality, maximum compression) to 100 (highest quality, no compression). To specify that picture quality can vary as needed to avoid exceeding bandwidth, pass 0 for quality. 
3

setQuality() est bon que Todd souligne, mais vous pouvez voir un résultat plus immédiat avec setMode() qui vous permet de définir la résolution et framerate. Si vous définissez simplement un flux de caméra standard, puis redimensionnez votre objet vidéo à quelque chose comme 640x480, il utilisera simplement le doublage de pixels, sauf si vous utilisez setMode (640, 480, 30) sur l'objet Camera lui-même. Pour référence, sauf si vous définissez manuellement avec setMode() alors votre entrée vidéo réelle est de 160x120.

Espérons que ça aide!

Questions connexes