8 votes

Capture d'un flux DVB-T vers un fichier vidéo

J'ai un formulaire avec une vue en direct du signal de la télévision (à partir d'une clé dvb-t). J'ai le projet d'exemple "DTViewer" à partir de http://directshownet.sourceforge.net/about.html . J'essaie maintenant de capturer le flux vers un fichier vidéo en cliquant sur un bouton, mais comment ? J'utilise C# et DirectShow.NET.

J'ai essayé de chercher dans de nombreux projets d'échantillons mais ceux-ci sont faits pour des entrées vidéo et non pour un stick dvb-t avec une interface BDA (Broadcast Driver Architecture).

Au secours !

4voto

Je ne sais pas vraiment ce que vous entendez par "fichier vidéo", mais je peux vous dire comment capturer l'ensemble du MUX (flux de transport).

Créez un graphique avec un Fournisseur de réseau Microsoft DVBT , You_Name_It BDA DVBT Tuner , You_Name_It BDA Digital Capture et Démultiplexeur MPEG-2 filtres.
Une fois que vous les avez connectés, énumérer toutes les broches de sortie sur le Démultiplexeur MPEG-2 et les rendre. Accordez la fréquence de votre choix (put_TuneRequest).

À ce stade, tout est prêt pour exécuter le graphique, mais ne l'exécutez pas !
Énumérer tous les filtres dans le graphe. Déconnecter tous les filtres sauf Fournisseur de réseau Microsoft DVBT , You_Name_It BDA DVBT Tuner et You_Name_It BDA Digital Capture .

Supprimez tous ces filtres déconnectés du graphe, à l'exception de l'élément Démultiplexeur MPEG-2 (il doit être dans le graphe même s'il n'est pas connecté). Ajouter Collecteur d'échantillons filtre et Renderer NULL filtre. Connectez Capture numérique filtre pour Collecteur d'échantillons et Collecteur d'échantillons à Renderer NULL . Y

2voto

jpjacobs Points 6838

Il me semble que VLC a un support BDA ( Référence au fichier BDA.c ), peut-être pouvez-vous récupérer quelque chose de leur code ?

1voto

Daniel Mošmondor Points 10926

Il n'y a pas de réponse simple à votre question. J'ai lancé un projet de ce type et j'ai découvert que j'en savais très peu sur le sujet. Voici donc un petit aperçu de mes recherches.

Tout d'abord, vous devez comprendre que la carte ou le stick tuner dvb-t ne fournit pas d'images vidéo au sens classique du terme, mais que le décodage est effectué dans le PC, sur le processeur. La carte externe ne vous fournira que des données compressées, car elle va les chercher dans l'air.

Ensuite, les données qui vous seront livrées seront au format MPEG2 ou MPEG4 Transport Stream. Ce format convient au streaming ou à la diffusion, mais pas à l'enregistrement dans un fichier. VLC est capable de lire le TS écrit dans le fichier, mais pour enregistrer un fichier vidéo correct, vous devrez soit transcoder le fichier, soit le reconditionner au format Program Stream. Cherchez un peu sur Google, vous trouverez les différences.

De plus, une fréquence sur l'air est composée de plusieurs canaux, et ce regroupement de canaux est appelé "mux". Ainsi, à partir du tuner/capteur BDA, vous obtiendrez TOUTES les données, et vous devrez les démuxer manuellement ou laisser le démuxeur BDA le faire pour vous.

J'espère que c'est assez d'informations pour vous permettre de démarrer, je peux vous poster des liens intéressants lorsque je serai au clavier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X