Régis Cosnier's pages
regis(dot)cosnier(at)free(dot)fr

CodeTV
Fork me on GitHub
CodeTV is a free DirectShow based TV software for Windows written in c# with the Framework.NET 3.0

Version 0.3 Copyright (c) 2006-2012 Regis Cosnier, All Rights Reserved.

This program is free software and may be distributed
according to the terms of the GNU General Public License (GPL).

Features

  • GPL
  • Display analog and digital live video
    • As fast as possible channel switching (This is the reason why I made this software)
    • Still image capture (snapshot)
    • Timeshifting (DVB only)
    • Video recording (DVB only) in a ".dvr-ms" Microsoft proprietary file format (Because of the use of the DirectShow StreamBufferEngine)
      • Can be playback with any DirectShow Media Player
      • Information on Wikipedia (DVR-MS)


    Requirements

    • Need of the Microsoft Framework.NET 3.5 (if not already installed)
    • TV Drivers
      • Analog tv or webcam device with WDM drivers
      • Digital tv (DVB-T, DVB-S, DVB-C) device with BDA drivers (only tested with DVB-T)
    • MPEG2/H264/AC3 DirectShow Codecs
      • the one provided with your original TV application
      • or the open source ffdshow codec and the AC3 Filter.

    Download

    The latest source code is available at https://github.com/dgis/CodeTV


    Screenshots









    License

    Copyright (c) 2006-2012 Regis COSNIER, All Rights Reserved.

    This program is free software and may be distributed
    according to the terms of the GNU General Public License (GPL) version 2.



    50 comments

    2010/01/05 23:31:59 kay diefenthal
    I have tested your applet but DVB Satellite does not working i think the problem is hr = this.tuningSpace.put_LowOscillator(9750000); and hr = this.tuningSpace.put_HighOscillator(10600000); are not set or i m blind and find it not in your code Have some DVBt and DVBS Cards for testing if you need one tester for this regards Kay

    2010/01/16 23:10:35 parabolus
    Bonjour Regis. Je n'arrive pas à faire marcher CodeTV avec l'usb TeVii sous Windows 7. J'ai rajouté Low et High oscillateur. Apparemment le niveau de réception indiqué par le programme est bon mais l'écran reste noir. J'ai sauvegardé le Graph et le Network Provider n'est pas connecté ! Merci d'aider un vieux bonhomme (77 ans). Cordialement.

    2010/01/26 11:17:38 tpe@netzel.pl
    RE: CodeTV, video standard PAL_D not stored for a channel Hi Regis, Sorry I'm not writing in French, mais je ne le parle pas trop bien :-). I'd like to thank you for your software and effort. However, I have one problem: in Poland (cable TV) we generally use PAL_D. CodeTV always assumes PAL_B. In effect, no sound is generated, only noise. Thus, I change the standard to PAL_D and the channel "speaks" all right now, but ... only until I change to another channel or re-start the program. It doesn't matter whether I change it in the "Properties" panel, or via RIGHT-CLICK --> FILTERS --> PCTV 330e/8x0e Device --> Video Standard. The program doesn't remember the setting. Choosing SAVE ALL CHANNELS does not make it use the correct standard, EVEN THOUGH the file CodeTV.Channels.xml gets updated with the information. Is there a solution to this problem? I'd like to use your program, but this bug makes it practically unuseful now (I have about 40-50 channels 90% of which use PAL_D, meaning that now I have to re-set the video standard to PAL_D manually each time I change a channel). I would be grateful if you advise me in this matter, Regards, Tomasz

    2010/04/19 13:30:39 Fernando
    Hello! first of all congratulations, Nice Job! We are using your program for some time, and all works ok, but now with some channel sometimes and exception is throwed and the program finish, "spatial scalabitiy not supported". How we can manage this error? Maybe the codecs Or how we can catch the exception? Thanks in adavance.

    2011/03/11 18:56:32 carlos
    I have a TV Tuner: Hauppauge HVR-2250. I try to test CodeTV. First of all, I live in United State. Since I am new to this, I don't know what info to enter in the channel wizard. so here is what confuse me: 1. I choose DVB Terrestrial and click "Create New" 2. Now what data I should enter for the fields at the right grid-view? Please help. Thanks

    2011/03/20 12:58:46 Regis
    I know this application is not very user friendly. But the README file explains some tips to fill the parameters. But the most important parameters are the devices parameters: - The must have are "Tuner Device" and "Capture Device". - Then if it's not enough, you can specify the other devices: video/audio decoder/renderer. If there is no codec in your system, download FFDSHOW! - The other tuner parameters should be discovered automatically (at least for DVB-T).

    2011/12/05 20:48:24 xxx
    Hello, Is epg support for dvb-t planned?

    2011/12/09 15:17:43 Regis
    I only tested this soft with DVB-T usb devices. And the EPG support is very limited to the display of the current TV program. Consider CodeTV as a development software which is not updated anymore :-(

    2012/03/08 09:27:30 mohsen
    hi i work with your software . very very thanks . it is a goods application . but for DVB-T , i doesn't work audio . i download Cyberlink codec and fddshow codec .but audio doesn't work ? what is it ?

    2012/05/12 06:45:43 mehrtash
    i have skystar usb 2 external card but i do not see any capture device in programm . my card is installed and progdvb works fine please help me.

    2012/07/23 15:03:30 Hervé
    Bonjour, je cherchais un parser pour les tables des flux DVB pour un programme en GPL, je crois que je l'ai trouvé ;-) A première vu, il manque le LCN, la video H264, l'audio EAC3 et AAC, l' original_network_id, mais je pense pouvoir les ajouter. Merci !

    2012/08/01 21:21:24 Pseudoz
    Excellent programme. Le code source se compile sans problème avec visual.C# express. Ai rajoute les sources GPL de directshowlib et de dockpanelsuite. L ai testé avec une qbox tbs 5980 ci et à part le ci a rajouter c est OK. A regis: merci pour le code et les efforts. As tu une version plus récente du code source avec de nouvelles fonctionnalités ? A Herve: il serait intéressant que l on partage notre évolution du logiciel si Régis est d accord bien sur

    2012/08/01 21:24:45 Pseudoz
    Ha une petite précision pour les chaînes hd installer lavfilters sur votre PC et paramétrer codetv avec lavfilters comme codex vidéo et hop c est magique

    2012/08/01 21:31:29 Pseudoz
    Moi je vais rajouter dans un premier temps le ci pour ma tbs comme j ai une carte officielle canal + canalsat puis compléter la partie osd et enfin rajouter la lecture de films musique et photos style htpc dvbviewer pro. Je Mais de l aide serait le bienvenu :)

    2012/08/02 17:00:15 Regis
    Bonjour Pseudoz et Herve, Je vois que cela intéresse du monde. Il n'y a pas de nouveauté car j'ai fini par acheter une télé :-), donc je ne l'utilise plus... Je vais surement faire un repository sous Github. Ce sera surement plus simple pour partager le code.

    2012/08/02 18:25:43 Regis
    Ok, I created a Github repository here: https://github.com/dgis/CodeTV So you can create a fork that I can later include in the master branch! If you don't want to use Github, send me your zipped code that I will put in a new branch. Thanks for your interest guys :-)

    2012/08/03 11:16:35 Hervé
    Ce qui m’intéresse, c'est principalement le parser. Le programme que je fais est en VB.NET, et j'ai déjà traduit le code qui m’intéresse en VB. Par contre, si tu le veux, on peut externalisé dans une library le parser les fichier (PSI*.cs). Pas de problème pour moi, je parle aussi le C# et j'utilise une version 2010 de VS qui permet d'utiliser des langages différents dans une solution. Petit lien sur mon travail : http://www.tvnt.net/forum/les-softs-wintv2k-pouchintv-et-autres-mediacenters-t19-480.html#p488939

    2012/08/03 11:31:36
    Mes objectifs d'évolution pour le parser: -Récupérer le logical_channel_number et le HD_simulcast_logical_channel_descriptor -Gérer l'EAC3 et le AAC -Récupérer l'original_network_id -Mettre au bon format les strings afin d’éviter les erreurs XML ;-)) Petite lien sympa pour les tables d'un flux DVB : http://www.csa.fr/Etudes-et-publications/Les-brochures/Service-et-profil-de-signalisation-pour-la-diffusion-de-la-TV-numerique-de-terre

    2012/08/07 10:09:07 Régis
    @Hervé Le lien sur le flux DVB de la TNT est vraiment très intéressant. C'est la première fois que je vois ce genre de document en français bien expliqué, cool ! Sinon, je n'ai pas réussi à télécharger ZScanTV.NET depuis le forum même en m'enregistrant...

    2012/08/07 18:52:14 Hervé
    Pour être honnête, sans cette doc et sans ton code, je me serais pas lancer...

    2012/08/21 03:12:02 Ricardo
    Does this software work with Brazil Digital TV?

    2012/08/22 22:46:05 Hervé
    J'ai fait le parsing de la table NIT et des descripteurs logical_channel_number et HD_simulcast_logical_channel_number (sans les toString()), mais pour l'instant, comme mon Windows est en vrac, et j'ai bien du mal à valider les résultat

    2012/08/22 22:50:20 Hervé
    http://imageshack.us/photo/my-images/155/codetv2010dbogagemicros.png/

    2012/11/20 15:29:33 More2Read
    I too have tried with DVB-S Tuner. There needs to be a place to enter values for the Local Oscillator(s), not built into the source as there are different values for different equipment.

    2012/11/21 10:18:23 Régis
    @More2Read You are right, it seems there is more parameters to tune a DVB-S channel. But without the hardware, I cannot test. If you are able to modify the source code at GraphBuilderBDA.SubmitTuneRequest() around the line 400, it might be possible to make it work. I will be happy to integrate this working feature in CodeTV!

    2012/11/21 13:40:04 More2Read
    I am not a "coder" but I am able to build the App in VS2008. I tried adding some "IDVBSTuningSpace" lines to the GraphBuilderBDA.cs file, but that failed. Since there are different values needed for different equipment, it should be entered similar to Frequency. If you are not too familiar for DVB-S, you could open Graphedit and add the DVB-S Network Provider, and check it's Properties - there in the Tuning Spaces Tab, you will see the necessary options. As I said, I am not to familiar with Coding and VisualStudio, I need a lot of help.... exact source file names to be edited, and how to you have VS2008 show the Line Numbers. :)

    2012/11/21 13:55:07 More2Read
    Here is where I got inspiration from.... vidplaycorder.googlecode.com/svn-history/r13/trunk/sources/Samples/BDA/DTVViewer/ I believe it's a different Code language, but shows what is needed.

    2012/11/21 16:41:06 More2Read
    I added this, it builds, but no lock yet.... ChannelDVBS channelDVBS = channel as ChannelDVBS; IDVBSTuningSpace dvbTuningSpace =(IDVBSTuningSpace)new DVBSTuningSpace(); dvbTuningSpace.put_HighOscillator(5150000); dvbTuningSpace.put_LowOscillator(5150000); IDVBSLocator dvbLocator = (IDVBSLocator)new DVBSLocator(); dvbLocator.put_CarrierFrequency((int)channelDVBS.Frequency);

    2012/11/24 21:26:26 Regis
    @More2Read The sample DTVViewer does not seems to be very advance. Not sure it actually work. The open source project http://team-mediaportal.com/ is a big gas factory, but you can look for IDVBSTuningSpace in their source code to get some inspiration. I hope it will help you.

    2012/12/01 20:52:16 More2Read
    I got it to Lock a Transponder today, but no video or Audio. The Infos - Transponder is populated, and looks correct. However, when I use Graphedit to Connect to Running Graph, is populates correctly, but no PID Mappings in the MPEG2 Demux. I see that you are manually setting the MPEG2 Demux Output Pins. Any way to use Generic Demux, and let it auto populate?

    2012/12/02 14:59:54 More2Read
    False hope. It looks like it is using a previously locked Transponder. Back to the drawing board.

    2012/12/03 10:28:38 Regis
    @More2Read This looks promising. Actually, I get the PIDs when I scan and create the channels. To manually get these PIDs once you lock a transponder, just open the "Channel Infos" panel from the "Window" menu. And If you click on the "Transponder" or "Channel Infos", you can see all the needed data with the PIDs of all the channels in a transponder. And in the "Channel Properties" panel, you can set the Audio and Video Pids, and then click on the "Test" button to map the pids in the MPEG2 Demux (I'm not aware of a Generic Demux). Don't hesitate to change the Audio and Video Decoder Device to either "Microsoft DTV-DVD..." or "ffdshow...".

    2012/12/03 14:05:48 More2Read
    The generic Network Provider shows in Graphedit as "Microsoft Network Provider". It only become functional when a Tuner is attached, you can then enter Transponder information, and select Submit Request.

    2012/12/03 14:48:50 More2Read
    CoLoRs! :) I can not tune from CodeTV, but if I lock a signal in TrandEdit, then CodeTV will Lock the Transponder. Then I entered the SID, and colors appeared.

    2012/12/03 15:44:06 More2Read
    Now for the though question.... I need to use "Reclock" for audio bitstreaming, but it does not appear in the CodeTV Audio Codec menu.

    2012/12/03 23:08:46 More2Read
    Hmmm.... I downloaded your 32 bit version, but my h264 (Lav Filters & ffdshow) codecs do not work when I have "H264" selected in the Channel Property for "Video Decode" - But "Reclock" does show.

    2012/12/10 12:25:36 Hervé
    Bonjour Régis, Pour diverses raisons, je n'ai pas touché à mon code depuis plus d'un mois, mais je viens de voir que tu as bien bossé pendant ce temps ! Une petite question : Serait-il possible de migrer tout ou partie de Channels.cs vers PSI.dll ? Je n'ai jamais travaillé avec des PropertyGrid et je ne sais pas si c'est facilement faisable ! Sinon, j'ai fait une macro Excel pour faire un fichier .VB ou .CS à partir du fichier téléchargeable ici : http://www.dvbservices.com/identifiers/original_network_id&tab=table?page=1. C'est juste pour avoir un "Friendly Name" de l'ONID sur mon interface. Et c'est sympa pour les frontaliers. Tu es intéressé ? Je vais essayé de tester/comprendre le code de la version 0.3 d'ici la fin de l'année. Très cordialement, Hervé.

    2014/10/22 16:40:45 Michael
    Hi Thank you for this great application! I have problems with sound. Video capture works perfect. Capture device and tuner device: PCTV 291e/461e USB 28179 Device Audio decoder: ffdshow Audio Decoder Audio decoder type: AC3 I also tried with Microsoft DTV-DVD Audio Decoder and MPEG2 and a lot of combinations. Audio Render: DirectSound: Philips 244E-3 (NVIDIA High Definition Audio) Is there anything I can check or do to test it or get the sound to work? The application that came with the tuner has audio.

    2014/11/02 13:12:46 Regis
    @Michael It is very difficult to say from here, but you could try to launch the small free tools "GraphEdit" (x64 or x86 following "CodeTV.exe" or "CodeTV x86.exe"). And "Connect to Remote Graph..." with CodeTV tuned on a TV channel. It could give some information on the connected codecs. May be the audio codec could not connect or something else!

    2015/10/29 03:52:08 Reggie
    Hi, i haven't tested the application yet, but can one specify directshow filters, 3rd party ones? I have an ati tv wonder pro pci card by the way and i would like to use with this app.

    2015/10/30 11:37:21 Regis
    Hi Reggie, CodeTV may work only with third party codecs. There are two main codecs (filters): * Digital tv (DVB-T) device with BDA drivers which provide the source codecs * Mpeg2 / Mpeg4 codecs If the ati tv wonder pro pci card comes with the BDA drivers for digital tv (CodeTV support DVB-T and not ATSC), it should be possible to use it. CodeTV may work with analogical webcam but not with the analogical TV :-( I still use CodeTV from time to time, but I do not develop it for a long time. Sorry. I let the source code public, and may be, I will update it in the future.

    2016/03/06 05:56:11 Rayed awad
    helleo how to capture full TS pid(8192) my usb card support that . any tips or guid thank you

    2016/03/29 11:26:11 Regis
    @Rayed Sorry, it only supported the Microsoft dvr-ms format!

    2016/09/08 23:29:32 Eric
    Hi Regis. Does this software works with DTMB too?

    2016/09/14 18:14:15 Regis
    @Eric Sorry, I don't think so :-(

    2017/06/19 11:07:22 BlueSky
    Hello I receive aes128 encrypted dvb stream. where i can decrypt it on your program

    2017/06/23 13:30:14 Regis
    @BlueSky Sorry, but I don't think that aes128 is supported. Or, may be through third party codecs?

    2017/07/03 07:58:12 BlueSky
    thank you I want change your code to do this job where i can get mpeg raw data and then change it?

    2017/12/18 23:26:06 Dsgra
    El software esta muy bueno, pero no lo puedo integrar con una capturadora USB TV Stick

    2019/05/09 08:58:06 bluesky
    Hello I want use lav filter for demultiplexer but cant initialise lav filter for this. can send me some example to help me


    From
    Text

    Human factor: please enter "MOB" in this field

    Page size about 46165 octets. Server generation in 1.700 seconds. Client load in seconds.