Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Utiliser l'ActiveX de vlc en C# [ Windows / ActiveX / COM ] (fcolo)

lundi 26 juin 2006 à 16:27:31 | Utiliser l'ActiveX de vlc en C#

fcolo

Membre Club
Bonjour,

je réalise une application de capture de flux vidéo.
Pour pouvoir enregistrer ce flux, j'ai eu l'idée d'utiliser VLC (sous son activex) pour réaliser la capture et l'enregistrement du flux.
La capture ce fait seule.
On installer VLC en cochant l'option d'installation de l'activeX.
On crée un projet.
On ajoute le composant "VideoLAN VLC ActiveX Plugin".
Et on ajoute la ligne de code apres l'InitializeComponent().

axVLCPlugin1.addTarget("http://root:mdp@192.168.200.232/axis-cgi/mjpg/video.cgi", null, AXVLC.VLCPlaylistMode.VLCPlayListReplaceAndGo, 0);

et on voit le flux apparaitre.

J'ai également trouvé toutes les OPTIONS de VLC à entrer à la place du null dans le addTarget de la forme:

public string[] Voption ={":file-caching=1000",
":sout-ts-pid-video=68",
":sout-ts-pid-audio=69",
":sout-ts-pid-spu=70",
":sout-ts-pcr=80",
":sout-transcode-maxwidth=720",
":sout-transcode-maxheight=576",
":sout-standard-url=212.27.38.253:1234",
":sout=#transcode{vcodec=mp2v,vb=2000,scale=1,acodec=mpga,ab=384,channels=2}:duplicate{dst=display,dst=std{access=udp,mux=ts,url=212.27.38.253:1234}}" };

Mais j'aimerai trouver un code C# sur l'utilisation de l'ActiveX de VLC mais je ne trouve rien sur le net.

Quelqu'un a deja utliser VLC pour captuer, diffuser et enregistrer un flux video?
Quelqu'un sait comment insérer du texte dans l'image du flux comme des sous titres mais inséré "à la main" sans passer par un fichier?

f.colo
           

samedi 1 juillet 2006 à 11:29:25 | Re : Utiliser l'ActiveX de vlc en C#

cboury

j'avais posté un exemple sur le forum officiel de VLC, rapidement et qui n'a aucun interet si ce n'est montrer comment utiliser l'activex.
J'espere que ca conviendra:

http://lopez.tuparles.free.fr/vlc/

lundi 3 juillet 2006 à 09:28:28 | Re : Utiliser l'ActiveX de vlc en C#

fcolo

Membre Club
J'avais déja vu ton programme mais il génère des erreurs à la compilation apres le passage en .NET2.
Ensuite, j'arrive deja à une utilisation basique de l'activeX mais j'aimerai trouver un truc plus poussé, du genre lire un flux video et l'enregistrer à la volée durant la lecture apres un clic sur un bouton, sans réouvrir un autre flux vidéo (car dans mon cas c'es la vidéo d'une caméra IP, ca prend trop de bande passante de réouvrir un flux).

Merci bien pour ta source.

f.colo


lundi 17 juillet 2006 à 15:06:52 | Re : Utiliser l'ActiveX de vlc en C#

s_diddle

Salut,
Je me heurte au même pb que toi, je souhaiterai enregistrer un flux vidéo d'un caméra IP et je ne trouve pas comment faire .
As-tu résolu ton pb? Si oui peux-tu m'indiquer comment tu as fais?
Merci d'avance

Sandrine

lundi 17 juillet 2006 à 15:29:45 | Re : Utiliser l'ActiveX de vlc en C#

fcolo

Membre Club
Réponse acceptée !
Oui, j'y suis arrivé et ca marche assez bien :).
Par contre, pour mon utilisation, je devais afficher plusieur caméra (axis) et lorsque je lançais environ 5 activeX VLC en meme temps, mon application planté, alors j'ai laissé tomber cette solution.

Pour enregistrer tout ce joue dans les options:
                // Les options sont de la forme:
                // - Sortie: sout=
                // - Compression à la volée: #transcode{vcodec="+CODEC+",vb=512}
                // - Copie du flux compressé :duplicate{
                // - Dans un fichier: dst=std{access=file,mux="+MULTIPLEXEUR+",url="+DESTINATION+"},
                // - Et sur l'écran: dst=display}

                String option = "sout=#transcode{vcodec=";
                switch(comboBox1.SelectedIndex)
                {
                    case 0: //AVI
                        option += "mp4v,vb=512}:duplicate{dst=std{access=file,mux=mp4";
                        break;
                    case 1: //MPEG
                        option += "mp4v,vb=512}:duplicate{dst=std{access=file,mux=ps";
                        break;
                    case 2: //ASF
                        option += "DIV3,vb=512}:duplicate{dst=std{access=file,mux=asf";
                        break;
                }
                option += ",url="+textBox1.Text+"},dst=display}";
                Voption = new String[] { option };

Ensuite tu configurer l'activeX normalement:
                axVLCPlugin1.addTarget(this.textBox2.Text, Voption, AXVLC.VLCPlaylistMode.VLCPlayListReplace,0);

et tu lance la reception/visualisation:
                axVLCPlugin1.play();

A cette page et des info sur celle là, tu as la liste des options que tu peux combiner.
Avec les codecs klitecodecpack, j'ai pus avoir uen compatibilité WindowsMediaPlayer, MediaPlayerClassic et VCL qu'avec les combinaisons:
mpv1/mpeg1
mpv1/mp4
mp4v/mpeg1
mp4v/ps
mp4v/mp4
WMV1/asf
WMV2/asf
DIV2/asf
DIV3/asf

Si tu veux je t'envois mon projet par mail, envois moi un mp avec ton mail pour que je te l'envois.

f.colo

jeudi 8 février 2007 à 10:47:48 | Re : Utiliser l'ActiveX de vlc en C#

espadon2

Bonjour ,

je travail sur le meme genre de projet ... et j' arrive pas a enregistrer quoi que ce soit :(

Viualiser oui , mais enregistrer le flux dans un fichier  non... rien le fichier se crée même pas....
Donc es tu ok pour m' envoyer ta source s'il te plait ????

voila ce que j'ai pour l'instant (Enregsitrement  de la WEB TV Direct 8 ), c'est du vb6 , mais bon le principe doit etre le même, vi que c'est le meme activeX
-------------------------------------------------------------------------------------------
Dim Voptions() As Variant
 Voptions() = Array(":sout=#transcode{vcodec=mp4v,vb=512}:duplicate{dst=std{access=file,mux=mp4 ,url=c:\toto.avi},dst=display}", "ttl=1")
 Me.VLCPlugin1.addTarget "mms://livewm.fplive.net/ffnet/212.3.240.70_0.0.115.1", Voptions, VLCPlayListReplace, 0
 Me.VLCPlugin1.play
------------------------------------------------------------------------------------

Rien se passe , rien a l'ecran, pas d'erreur , pas de fichier créer ... :(

En te remerciant a l' avance

Amicalement,

espadon

jeudi 8 février 2007 à 11:23:22 | Re : Utiliser l'ActiveX de vlc en C#

espadon2

marche pas mieux en c# :(

-------------------------------------------------------------
string
[] Voption;

String option = "sout=#transcode{vcodec=";

option +=

"mp4v,vb=512}:duplicate{dst=std{access=file,mux=mp4";

option +=

",url=d:\nono.avi},dst=display}";

Voption =

newString[] { option};

this.axVLCPlugin1.addTarget("mms://livewm.fplive.net/ffnet/212.3.240.70_0.0.115.1", Voption, AXVLC.VLCPlaylistMode.VLCPlayListInsert, 0);

this.axVLCPlugin1.play();----------------------------------------------

J' enregsitre bien la chaine avec VLC directement ... je comprends plus rien

espadon

lundi 19 février 2007 à 23:53:33 | Re : Utiliser l'ActiveX de vlc en C#

Dowin

Membre Club
Bonjour,

Est-ce que quelqu'un connait par hasard la ligne de code pour effectuer le désentrelacement d'une vidéo. Je pense que c'est dans la variable "option" du addtarget mais pas moyen de trouver le code qui fonctionne.

Merci à tous.

Dowin

mardi 20 février 2007 à 09:39:57 | Re : Utiliser l'ActiveX de vlc en C#

fcolo

Membre Club
Tu as essayé de rajouter dans l'option:
AVI demuxer :
--avi-interleaved, --no-avi-interleaved

Regardes les options ICI, tu dois surement trouvé ton bonheur en recherchant leur signification à droite à gauche.

f.colo

mercredi 18 avril 2007 à 03:08:14 | Re : Utiliser l'ActiveX de vlc en C#

veasnamuch

Bonjour, Je suis trés nouveau avec VLC. Je veux programmer une application in C# pour jouer des chansons de format .DAT, .AVI, .MPG,... J'avait chercher sur le net, mais j'arrive pas à faire marcher le program dévelopé par cboury (http://lopez.tuparles.free.fr/vlc/). J'essai de le faire moi même, en créent un nouveau project, j'ajoute le composant "VideoLAN VLC ActiveX Plugin v1" dans mon form et un boutton "Play". J'écris le code pour se boutton comme ça : private void cmdPlay_Click(object sender, EventArgs e){ string[] SCREEN = new string[3]; SCREEN[0] = "config=\"~/Application Data/vlc/vlcrc\""; SCREEN[1] = ":file-caching=300 :sout-udp-caching=200"; SCREEN[2] = ":sout=#duplicate{dst=display}"; axVLCPlugin1.addTarget(@"C:\4U.AVI", SCREEN, AXVLC.VLCPlaylistMode.VLCPlayListInsert , -666); axVLCPlugin1.play(); } mais au moment de exécution du project, et je clique sur le boutton Play, rien s'affiche. Je ne sais pas, qu'est ce qu'il se passe avec mon code. Est ce que vous pouvez me guider pour se fair marcher cette truc? Mercie, veasna



Cette discussion est classé dans : activex, flux, sout, ts, vlc


Répondre à ce message

Sujets en rapport avec ce message

Recevoir un flux video avec activex [ par LePseudoQuiVaBien ] Bonjour cela fait plusieurs heures que je cherche mais je ne trouve pas. Je dois afficher un flux video venant d'une Camera IP mais je n'arrive pas. j utiliser le vlc dans c# [ par asrekik ] Bonsoir à tous Je suis entrant de développez une application en c# qui perme [ C# -> BAR ] axvlc vista flux video [ par bbbbl ] Bonjour Je ne sais pas is je suis au bon endroit mais j'espere que qlq un pourra me repondre: Je n'arrive pas à faire fonctionner vlc ( flux)!!! J'ai pointeurs et structure [ par olibara ] Bonjour,Je sais que bidou va encore me dire de faire de la speleo essai / erreur sur MSDN mais c'est tellement plus rapide et convivial qsuand on peut lire un flux xml [ par herve_labenere ] Bonjour,Je conçois actuellement un petit logiciel pour suivre les cours de la Bourse.J'utilise pour cela un webservice (http://www.webservicex.net/sto IE et frame [ par lenoil55 ] Bonjour à tous,j'aimerais depuis un programme Csharp réaliser en .net 2.0 récupérer Internet Explorer et récupérer à l'intérieur des frames et des act ActiveX et TabControl c# [ par mastoc ] Bonjour, bonjour, Le contexte : le but du travail que je suis en train d'effectuer est de pouvoir ouvrir une application sur laquelle je bosse Erreur sur l'obtention du handler d'un activeX sans fenêtre. [ par sosekeyser ] Bonjour,Je bosse sur un petit projet de lecteur vidéo, en winforms et en c#.J'ai commencé mon lecteur sur visual studio 2005, en c#2.0.J'utilise un ac Compression des flux et StreamReader [ par maitredede ] Bonjour,Je suis en train de coder une librairie de client/serveur pour un protocole assimilé à telnet. En gros, l'utilisateur se connecte avec telnet gestion des jours fériés avec le calendrier Activex ACCESS [ par lenium ] Bonjour, J'ai rajouté à mon formulaire le calendrier 12.0 des controles activeX. Cependant, je ne m'y connais pas vraiment en vb et en access et j'


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.