Affichage des articles dont le libellé est Pinnacle. Afficher tous les articles
Affichage des articles dont le libellé est Pinnacle. Afficher tous les articles

dimanche 23 septembre 2007

Amélioration des plug-ins pour CaptureFlux


Grâce aux informations données par plusieurs visiteurs de mon blog, j'ai pu constater que les plug-ins que j'avais réalisé pour les boîtiers ADS DVD XPRESS DX2, Dazzle Video Creator (DVC130) et Dazzle Platinum Video Creator (DVC170) ne marchaient pas toujours avec CaptureFlux.
On peut télécharger mes nouveaux plug-ins sur la page de CaptureFlux. Ils portent le même nom que les anciens, et il suffit de remplacer l'ancien par le nouveau, par défaut dans le même dossier que l'application.

Trois problèmes ont été corrigés:

1) en mode mpg2 natif la capture pouvait donner un fichier vide (0 octets). Ceci devrait être corrigé dans les nouveaux plug-ins: j'ai changé le filtre qui écrit la vidéo sur le disque et remis un bon vieux filtre dump. Rassurez-vous, aucun filtre n'est installé sur votre système: le plug-in comprend en interne le logiciel correspondant sans rien installer.

2) j'ai constaté que Pinnacle distribuait plusieurs filtres décodeurs mpeg2 différents, et surtout qui n'avaient pas les mêmes broches. Chez moi, c'était le Pinnacle MPEG 2 Decoder, installé par pclempegbox.ax version 4.0.8.00 . Ce filtres n'a qu'une broche d'entrée et une broche de sortie: le flux vidéo mpeg2 y entre et le flux vidéo décodé en sort.

Or chez Rudy, il n'en était pas de même: son filtre s'appelle bien Pinnacle MPEG 2 Decoder, il est installé par un fichier pclempegbox.ax mais en version 5.0.617.00 Et cette petite différence de version, lui donne trois broches, notamment une nouvelle broche d'entrée pour un flux de "subpicture" qui semble servir pour décoder certains DVD. Du coup quand CaptureFlux cherchait à se connecter, il ne trouvait plus la bonne broche. C'est maintenant réparé et je pense que le plug-in devrait maintenant fonctionner avec les versions différentes du décodeur de Pinnacle.

3) certains utilisateurs, comme ChrisPM, avaient désinstallé le décodeur divx officiel DivX Decoder Filter, qui était utilisé par le plug-in pour gérer les flux divx. Et je ne les blâme pas, s'ils préfèrent fonctionner avec ffdsshow ou XVID. Du coup, le plug-in cherchera maintenant quand même d'abord le decodeur officiel, et s'il ne le trouve pas, essaiera d'en demander un autre au lieu de renoncer bêtement à fonctionner. Cela devrait donner un peu de souplesse de ce côté-là.

Qu'est-ce qui n'a pas pu être résolu?

Certains utilisateurs, comme Pierre Julien n'ont pas de driver pour faire fonctionner le boîtier sous Vista 64 bits. Il est clair que mes plug-ins ne le remplacent pas, et que CaptureFlux en saura pas fonctionner sans un driver approprié.

Certains utilisateurs, comme Gaël me disent que cela marche sur leur ordinateur de bureau, mais pas sur leur portable. Or quand je regarde les filtres de l'ordinateur portable, je m'aperçois qu'aucun filtre de Pinnacle n'est installé. Même si maintenant j'ai introduit un peu de souplesse, je pense qu'il faut quand même installer le logiciel fourni avec le boîtier pour pouvoir le faire fonctionner correctement.

D'autres utilisateurs regrettent de ne pas pouvoir enregistrer directement en mp4. Désolé, je n'ai pas pu le rajouter, car je n'ai pas une connaissance suffisante de ce format et des filtres qui permettent d'enregistrer en mp4. C'est peut-être un but pour une prochaine révision.

Que reste-t-il à faire maintenant?

Après les plug-ins DVC130, DVC170 et ADS, je vais regarder encore quelques améliorations pour Captureflux: améliorer le plein écran pour ceux qui ont des écrans larges, peut-être revoir la synchronisation audio/vidéo car dans certains cas ce n'est pas terrible.

A suivre donc.


samedi 1 septembre 2007

CaptureFlux et les DVC 130 et 170

Le DVC 170 , comme d'ailleurs le DVC 130, sont des boîtiers de capture vidéo très peu chers, et qui compressent la vidéo par le hardware (donc sans mobiliser le processeur) en mpeg 1, 2, voire en mpeg-4 et divx. En France, il s'appellent Dazzle Video Creator ou Dazzle Video Creator Platinum, et sont en fait une marque de la société Pinnacle. Celle-ci les distribue avec ses logiciels (genre Studio), mais beaucoup d'utilisateurs regrettent de ne pas pouvoir utiliser d'autres logiciels, notamment pour voir la vidéo en plein écran , sans être obligé de l'enregistrer. C'est le cas de Gaël qui a commenté mon billet précédent. Mon logiciel CaptureFlux fait cela pour pas mal de systèmes, aussi suis-je souvent sollicité pour le rendre compatible avec ces boîtiers.

En fait, je n'ai jamais essayé aucun de ces deux boîtiers, mais je dispose d'un boîtier ADS Tech DVD Xpress DX2, qui utilise la même puce que les DVC 130 et DVC 170 pour numériser et compresser la vidéo. Il s'agit de l'excellente puce WIS GO7007SB, qui a pour les Français aussi l'avantage d'accepter des entrées vidéo en SECAM.

J'ai réussi à faire marcher CaptureFlux avec le boîtier ADS en réalisant un plug-in spécialisé. Grâce à plusieurs utilisateurs de DVC 170 qui ont fait des tests, j'ai aussi développé un plug-in pour les boîtiers Dazzle. Malheureusement cela ne semble pas marcher pour tout le monde, probablement parce qu'il y a plusieurs versions du driver de cette puce, et que mes plug-ins pour CaptureFlux ne marchent que pour certains d'entre eux.

Ce billet de mon blog s'adresse donc aux utilisateurs de DVC 170 et DVC 130 qui voudraient faire marcher CaptureFlux avec leur boîtier. S'ils veulent que je développe un plug-in pour eux, ils devront m'aider en faisant un certain nombre d'essais ou de tests, et en me donnant leurs résultats.

Pour cela, il faut savoir utiliser graphedit. J'ai une page web sur graphedit qui explique comment cela se fait. Si vous ne l'avez pas encore, téléchargez-le plutôt sur doom9 qui donne une version plus récente que Digital Digest (il faut chercher la full software page, puis la rubrique filters). Ne lancez pas tout de suite register.bat, car il installe un tas de filtres directshow dont vous n'aurez pas besoin en principe. La seule chose dont vous avez besoin c'est d'installer la dll qui permettra d'ouvrir les pages de propriétés. Elle s'appelle proppage.dll. Pour cela, soit vous éditez (avec notepad.exe) le fichier register.bat et effacez toutes les lignes sauf regsvr32 proppage.dll /s, soit vous utilisez mon logiciel Filmerit, et glissez simplement le fichier proppage.dll sur sa fenêtre.

Branchez maintenant votre boîtier. Par précaution, vérifiez avec le logiciel d'origine qu'il marche et donne une image. Mais ensuite quittez complètement le logiciel, tout en laissant le boîtier branché.

Lancez ensuite graphedit, puis lorsque la fenêtre vide est affichée, tapez CTRL+F. Chargez d'abord le filtre source de capture qui correspond à votre boîtier. Il doit se trouver dans la rubrique Video Capture Sources, et s'appelle chez moi ADS DVD XPRESS DX2. Chez vous, il y a des chances qu'il s'appelle Dazzle DVC170 ou encore Dazzle DVC 130. Peut-être allez-vous trouver encore autre chose. Sélectionnez-le et tapez Insert Filter.


Puis vous allez dans la rubrique Périphériques de distribution de flux WDM et essayez de trouver un filtre Crossbar. Chez moi, il s'appelle WIS GO7007SB Crossbar, mais chez vous il pourrait s'appeler Dazzle DVC170 CrossBar ou encore Dazzle DVC130 CrossBar, ou autre chose.
Insérez-le aussi.

Ensuite, il faut essayer de construire le graphe. La première chose à faire est de relier le filtre crossbar et le filtre source. Chez moi le filtre source n'a qu'une entrée. On la relie à la sortie vidéo du filtre crossbar. Peut-être chez vous en aura-t-il plusieurs? A vous d'essayer au mieux.

Ensuite, vous terminez le rendu du graphe en cliquant avec le bouton droit sur les broches de sortie du filtre source, et en choisissant render pin. Attention, s'il y a une broche de capture et une broche de preview, il vaut mieux pour mes essais rendre les deux. Souvent, il y a aussi une broche audio. Rendez-la itou.

Vous devriez alors obtenir un graphe complet, du genre suivant:

Avec un peu de chances, il marchera quand vous tapez Entrée pour le faire jouer. S'il ne donne qu'une image noire, il faut sans doute configurer la crossbar. Vous cliquez sur le filtre Crossbar avec le bouton droit, et affichez sa page de propriétés. La principale chose à faire est de vérifier la source vidéo: composite ou s-vidéo, selon ce qui est branché sur votre boîtier. Parfois il y a d'autres réglages. A vous de regarder.

Quand vous avez un graphe qui marche, et qui donne une image et du son, c'est presque gagné: vous pouvez déjà profiter de votre boîtier autrement qu'avec Studio de Pinnacle. Enregistrez le graphe avec CTRL+S, et envoyez-le moi (c'est un filtre grf) avec les commentaires utiles. Ce sera ma matière première pour fabriquer un plug-in.

A ce stade, il faut remarquer que le filtre source peut donner des flux vidéos très différents: mpeg1, mpeg2 ,mpeg4 ,divx etc... selon les règlages de sa page de propriétés. Chacun de ces flux sera rendu différemment, notamment en mobilisant un décodeur différent. Vous devriez donc recommencer plusieurs fois, et avant de rendre les broches de sortie du filtre source, ouvrir sa page de propriétés et choisir différents formats de sortie, puis compléter le graphe de rendu. Envoyez-moi tous les graphes obtenus qui marchent.
Il reste une dernière difficulté: CaptureFlux doit décomprimer l'image dans la mémoire vive de l'ordinateur, et pas dans la mémoire de la carte vidéo. C'est un problème qui se pose avec les flux mpeg2, qui sont parfois décodés en mode overlay. Si le graphe de rendu fait appel à des filtres décodeurs de mpeg2 tels que ceux de Cyberlink, et fait apparaître un filtre overlay ce n'est pas bon pour CaptureFlux. Il faudra donc voir si vous avez d'autres filtres mobilisables. Le mieux pour cela, est d'utiliser mon logiciel Filmerit, déjà cité plus haut pour prendre une photo de tous vos filtres, et de m'envoyer aussi le zip obtenu.

Pour l'envoi, vous trouverez mon adresse e-mail sur mon site, ou sur les pages d'aide de CaptureFlux ou Filmerit. Si ces indications ne sont pas claires, faites des commentaires à ce billet. Sinon envoyez-moi vos résultats.

lundi 28 mai 2007

Le moteur d'ImageGrab 4.1.0

J'ai publié à la fin de ce billet un lien vers la version 4.1.0 de ImageGrab. Cette version fait encore progresser l'interface de ImageGrab, mais surtout elle comprend un "moteur" amélioré pour lire les vidéos.


Voici trois exemples d'améliorations de ce "moteur":

1. la lecture des fichiers mpeg2.

Avec la version 3.0 la lecture des mpeg2 était très aléatoire, et donnait parfois seulement une image à l'envers, et au bout de multiples essais. Cette fois, si un décodeur mpeg2 approprié est installé sur votre système, ImageGrab ne devrait pas se faire prier pour donner l'image et dans le bon sens.

Qu'est-ce qu'un décodeur approprié? C'est un décodeur capable de donner l'image vidéo dans la mémoire de l'ordinateur, sans passer directement par la mémoire vidéo (overlay). Ulead ou Pinnacle fournissent de tels décodeurs. Ceux de Cyberlink ou Fraunhofer ne conviennent pas toujours. La nouveauté est que si au moins un des décodeurs appropriés est correctement installé, alors ImageGrab saura le trouver et le faire fonctionner correctement.

Ce qui vaut pour les fichiers mpeg2 vaut aussi pour les fichiers vob non cryptés. Vous pourrez donc lire et extraire des images des DVD non cryptés que vous avez fabriqués.

Vous pouvez lancer Filmerit pour avoir la liste des filtres installés sur votre système. Si vous n'arrivez pas à lire les fichiers mpeg2 avec ImageGrab, essayez d'installer une version de démonstration de Ulead ou de Pinnacle.

2. La lecture des vidéos ayant des sous-titres srt

Il suffisait parfois de lire un fichier avi doté d'un fichier de sous-titres srt pour que ImageGrab se bloque. En effet, si un fichier srt se trouve dans le même dossier que le fichier avi, et que le filtre DirectVobSub (auto-loading version) est installé sur votre système, alors ce dernier tente de s'insèrer dans le graphe de l'application multimedia , ce qui jusqu'ici bloquait ImageGrab. Cela n'est plus le cas.

A noter cependant que Imagegrab empêchant désormais ce filtre de s'insérer dans le graphe, il n'affichera pas vos sous-titres.

3. La lecture des sources vidéos Live

Vous l'aviez sans doute remarqué, ImageGrab sait lire une vidéo sur une source Live connectée à votre ordinateur. C'est une fonction prisée en liaison avec l'intervallomètre qui peut ainsi capturer une photo régulièrement. Dans la version 3.0 les sources utilisables étaient relativement peu nombreuses: ImageGrab savait lire essentiellement les caméras DV et quelques webcams. Dans la version 4.1.0 il saura lire beaucoup plus de sources, notamment les boitiers ADS Tech DVD Xpress, et donc vraisemblablement les boitiers DVC130 et DVC 170 de Dazzle (DVD Video Creator et DVD Video Creator Platinum ), mais aussi par exemple avec une carte DC30+ munie du driver de Maik.

Toutefois si votre boitier fournit une source en mpeg2, alors ImageGrab ne saura la lire que si un décodeur approprié est installé sur votre système (voir le § 1 ci-dessus).

Je serais intéressé par des commentaires sur ce point si vous avez d'autres sources de capture, disposant d'un driver compatibles avec directShow. Peut-être certains voudront faire l'essai avec une caméra HDV?

Pour essayer toutes ces nouveautés, téléchargez la version 4.1.0 en français ici

vendredi 6 avril 2007

Les fichiers scn

Un internaute hongrois me demande quelle est la structure des fichiers *.scn.

Rappelons que les fichiers *.scn sont produits par Studio de Pinnacle et contiennent les informations relatives au découpage en scènes d'un fichier vidéo. Pinnacle ne donne guère d'indications sur la structure de ces fichiers. Donc c'est en procédant à des expérimentations que j'ai pu comprendre un certain nombre des choses que je présente ici sans garanties.

J'ai implanté l'utilisation des fichiers *.scn dans ImageGrab et dans DVdate. En outre, DVdate comme CaptureFlux peuvent créer des fichiers *.scn à partir de vidéos au format DV.

En fait, ces fichiers sont inutilement complexes et redondants. Je suppose que Pinnacle les a introduits en se basant sur les fichiers de projet *.stu qu'utilise Studio. On aurait pu créer des fichiers plus simples contenant les mêmes données. C'est donc seulement parce que j'ai souhaité une compatibilité avec Studio que j'ai travaillé sur ces fichiers *.scn.

Un fichier *.scn commence par un en-tête qui en hexadécimal est le suivant:
63 26
01 00 04 00 00 00 FF FF
03 00 0A 00 'SourceTape' [len] filename 00 00 00 00 00 00 00 00 {nbscenes} FF FF
01 00 04 00 'Clip' 50 00 00 00 FF FF

Puis pour la première scène:

01 00 05 00 'Scene' 00 00 00 00 00 (scene_2) 00 00 00 00 01 80 [len] filename 00 00 00 00 00 00 00 00 (scene_2)


Puis pour chacune des scènes suivantes, notées scene_i (avec i>=2):

03 80 F0 00 00 00 05 80 00 (scene_i) (longueur_i) 00 00 00 00 07 00 (scene_i) (longueur_i) (scene_i)

Ici ma notation est la suivante:
  • [len] est la longueur du nom du fichier avi (avec son chemin complet). [len] est noté sur un seul octet.
  • filename est le nom du fichier avi avec son chemin complet
  • {nbscenes} est le nombre total de scènes - sur 2 octets
  • (scene_i) est le numéro de la frame dans le fichier avi où commence la scène i. scene_1 n'est ici pas utilisé, car il serait nul. Ce numéro est un entier codé sur 4 octets.
  • (longueur_i) est la longueur - en nombre de frames -sur 4 octets de la scène i. Donc en principe (longueur_i)=(scene_i+1)-(scene_i)
Voilà c'est un peu bizarre, mais ce n'est pas moi qui ai inventé cela. En outre, je ne garantis pas que tous les fichiers *.scn suivent strictement ce format-là. Mais les fichiers que Studio a produit chez moi le suivent, et quand DVdate produit des fichiers *.scn de ce format, ils marchent dans Studio. Alors cela doit quand même être correct.