Bitrate Scheduler

Crée le : mercredi 23 mars 2005
Dernière révision : vendredi 13 mai 2005 19:40:53

Téléchargement et installation

BitrateScheduler_v0.0.4.exe

Pour l'installer :
  1. Téléchargez l'installeur de l'application ci-dessus
  2. Par défaut l'application est installée dans Program Files\Bitrate Scheduler
  3. Une entrée est crée dans le menu démarrer de Windows pour lancer l'application

Pourquoi cette application ?

C'est une application qui permet de programmer l'enregistrement de programmes télévisés à partir d'une carte tuner TV Hauppauge PVR 350.

La carte Hauppauge est déjà distribuée avec un logiciel permettant de programmer des enregistrements. Mais il ne permet pas de décider de la taille que fera le fichier vidéo généré par l'enregistrement.

Cette application permet donc simplement de programmer un enregistrement en décidant à l'avance si la taille du fichier vidéo de sortie doit être optimisée pour qu'il soit gravé sur un DVD entier, un demi DVD, un CD etc...

Comment elle fonctionne ?

L'application est pour sa plus grande part développée en Flash. Elle est lancée au travers d'une application mProjector pour sa partie exécutable.

Son développement a été relativement long du fait de l'environnement exceptionnel qu'elle nécessite.

Il aura fallu tout d'abord prendre en main mProjector, créer un framework qui lui soit adapté et enfin trouver un moyen de communiquer efficacement avec le planificateur des tâches de Windows et WinTV.

Le plus compliqué aura été de pouvoir accéder aux paramètres de configuration de WinTV écrits dans des clés binaires byte-codées de la base de registre, mProjector ne permettant pas l'accés aux clés binaires. Le challenge m'aura même poussé à recourir à du C/C++ au travers d'un objet .COM pour résoudre ce problème.

Finalement, la solution aura été d'appeler des scriptlets Jscript pour lancer des appels WMI qui répondront parfaitement aux besoins actuels de l'application. C'est d'ailleurs pourquoi vous trouverez des fichiers Jscript à la racine du projet.

Programmation d'un enregistrement

Vérifiez que votre carte Hauppauge WinTV PVR 350 et l'application WinTV soient bien installées.
Pour faire un simple essai de l'application sans carte Hauppauge il suffit de suivre la procédure décrite en bas de page.

Assurez-vous également que le planificateur des tâches de Windows soit configuré pour être lancé au démarrage du système. Pour le vérifier et le configurer correctement le cas échéant, il suffit d'aller dans le Panneau de Configuration de Windows, cliquer sur Tâches Planifiées aller dans l'onglet avancé de la barre de menu du Task Manager et de choisir démarrer le planificateur des tâches.

Pour une simplicité d'utilisation optimale il est préférable que les chaînes soient correctement nommées en tant que presets à partir du Suite Manager de WinTV. Les mêmes noms seront utilisés depuis le Bitrate Scheduler.

Pour programmer un enregistrement , en mode normal il vous faut :

  1. Ajouter un nouveau programme à partir du bouton NEW de la fenêtre principale pour ouvrir la fenêtre d'édition
  2. Utiliser le nom de programme donné par défaut ou en rentrer un qui vous servira à identifer plus facilement le programme et surtout le fichier généré par l'enregistrement
  3. Choisir la chaîne de diffusion du programme. Si vous avez correctement configuré les chaînes depuis le Suite Manager de WinTV vous pourrez utiliser le nom du Preset utilisé pour idientifier la chaîne dans WinTV, sinon la chaîne sera identifée par un nom composé sous la forme Channel 12, Channel 13, Channel xx ...
  4. Saisir la date de démarrage du programme et sa durée en minutes (la durée est souvent précisée sur les programmes TV).

Attention : Par défaut des marges de 10 et 15 minutes sont ajoutées respectivement avant et après l'enregistrement. La date réelle n'est pas reportée dans les champs d'édition des dates de l'enregistrement pour ne pas interférer avec les dates de début et de fin réelles du programmes. Elles apparaissent par contre dans la fenêtre principale de l'application et sont prisent en compte pour que les programmes ne se chevauchent pas. Ces marges n'influent en rien sur le bitrate d'enregistrement, elles sont là pour garantir que le programme soit enregistré dans sa totalité malgré les décalages des heures de diffusion du programme par la chaîne de télévision. La durée de ces marges peut être aisemment configurée depuis le mode avancé de la fenêtre d'édition individuellement pour chaque enregistrement.

Que vous utilisiez ou non des marges de sécurité pour enregistrer vos programmes, vous désirerez trés certainement utiliser un logiciel d'édition pour limiter la durée de l'enregistrement au strict minimum de la durée du programme télévisé que vous avez enregistré. Pour ce faire Hauppauge délivre avec ses cartes un utilitaire rudimentaire mais "gratuit" appelé NanoPEG Editor que vous retrouverez sur le CD-Rom Hauppauge sous le nom PVR_editor.exe. Il existe aussi VideoRedo, plus avancé et plus précis mais uniquement disponible en version shareware.

Votre fichier vidéo est prés à être gravé. Je conseille vivement d'utiliser Ulead DVD MovieFactory Soft Edition fourni avec la carte Hauppauge pour la bonne et simple raison que le fichier vidéo peut y être gravé directement sans réencodage (il faut par contre dans ce cas toujours laisser la combo-box Video Output Stream du Bitrate Scheduler sur PROGRAM). Le fichier sera simplement multiplexé, ce qui peut prendre de 5 à 10 minutes mais se fait automatiquement avant (malheureusement pas pendant) le processus de gravure.

Si tout c'est bien passé, le fichier vidéo tient au plus juste sur le/les DVD, CD etc... Il ne reste plus qu'à les visionner dans votre platine de salon.

Captures d'écran

Fenêtre principale
Fenêtre principale
Mode normal
Fenêtre d'édition
Mode avancé
Fenêtre d'édition en mode avancé

Tester l'application sans le logiciel WinTV ni la carte Tuner-TV Hauppauge 350

Pour tester l'application sans avoir installé au préalable le logiciel WinTV ni la carte Tuner-TV Hauppauge 350 il vous faut télécharger un fichier d'inscription à la base de registre qui va se charger de simuler l'installation de WinTV. Ce fichier se nomme hauppauge.reg, il suffit de cliquer dessus aprés téléchargement et décompression du fichier registre_hauppauge.zip qui le contient.

Ça n'est absolument pas nécessaire, mais si vous souhaitez désintaller les informations inscrites au registre par ce fichier, il suffit d'effacer l'entrée : [HKEY_LOCAL_MACHINE\SOFTWARE\Hauppauge]

Attention : il ne faut pas utiliser ce fichier si le logiciel Hauppauge WinTv est déjà installé

Sources de l'application

Cette application a été développée sous licence GNU GPL. Les sources du projet sont intégralement disponibles au téléchargement :
BitrateScheduler_source_v0.0.2.exe

Cette distribution contient une version de la classe Xpath AS 2.0 de xfactorstudio sous licence Apache. Elle contient également des fichiers .FLA utilisant des composants Macromedia soumis à leur propre licence. Il vous faudra vous reporter aux propriétaires du matériel sous licence et aux licences concernées pour en connaitre les limitations.

Le téléchargement et l'installation des extensions mProjector AS2 et DateStepper sont obligatoires pour que la compilation soit intégralement fonctionelle (il n'est évidemment pas nécessaire de télécharger quoique ce soit ici pour utiliser l'application de base).

Il vous faudra aussi nécessairement installer mProjector pour créer le projecteur à partir du fichier bitrate_scheduler.swf.

Autre utilitaire

Avant de développer le Bitrate Scheduler je me servais d'un utilitaire au nom de code de Bitrate Calculator qui me permettait de calculer le bitrate d'enregistrement à saisir dans le profil par défaut avant de lancer un enregistrement programmé ou non.

Il n'est absolument pas nécessaire de posséder une carte Haupauge ou d'avoir installé le logiciel WinTV pour utiliser cet outil.

Mode normal
Mode normal
Mode avancé
Mode avancé

Problèmes connus, fonctionnalités à implémenter

  • Pour le moment l'application ne détecte pas si le planificateur des tâches de Windows est configuré pour être lancé au démarrage du système et n'est pas capable non plus de l'activer par simple confirmation de l'utilisateur. En, réalité, la détection et l'activation sont possibles et déjà programmées pour Windows 2000 mais semblent poser un problème de compatibilité avec Windows XP. J'attend d'avoir à disposition une machine sous Windows XP ou quelqu'un prêt à faire une série de tests intensifs avant d'entamer le développement de ces fonctionnalités.
  • Le paramètre overflow de gestion de la marge de sécurité de réduction de la taille du fichier vidéo crée est actuellement inactif, il faudra procéder à des tests d'enregistrements assez longs pour déterminer les valeurs des marges à appliquer.
  wordpress rss rss français rss english xhtml 1.1 css 2.0 wdg