IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

execvp et vlc sous linux erreur avec les arguments pour vlc


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut execvp et vlc sous linux erreur avec les arguments pour vlc
    Bonjour

    j'ai un souci pour exécuter VLC avec ces arguments en ligne de commande via la fonction execvp.

    Voila au début, j'ai créer un programme qui exécute la lecture d'un flux réseaux via le lecteur VLC.

    Je me suis inspirer de votre topic concernant execl, execv, execle, execve, execlp, et execvp

    ce qui ma permis d'aboutir à ce code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     //On execute VLC avec lecture sur l'adresse local sur le port 1235.
    char *argv[] = { "vlc","rtp://@:1235", NULL };
    execvp ( "vlc", argv);
    Ce programme marche et VLC lit bien le flux rtp entrant.

    Ensuite j'ai voulu modifier le programme avec pour objectif d'enregistrer le flux vidéo et de le sauvegarder via le lecteur VLC.

    la ligne de commande sous linux pour executer ce que je désire c'est:

    vlc rtp://@:1235 --sout "#std{access=file,mux=avi,dst=fichier.avi}"
    ou
    vlc rtp://@:1235 --sout '#std{access=file,mux=avi,dst=fichier.avi}'
    les deux marches.

    C'est là où arrive mon problème, dans la logique des choses, j'ai fait ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char *argv_v[] = { "vlc","rtp://@:1235", "--sout '#std{access=file,mux=avi,dst=fichier.avi}'", NULL };
    execvp ( "vlc", argv);
    vlc ne prend pas en compte le deuxième argument, ou plutôt le deuxième argument est compris comme le premier, j'ai eu beau mettre le deuxième argument avec le premier, changer le execvp par les autres, j'ai toujours cette même erreur.

    Si vous avez une idée
    merci d'avance

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 622
    Points
    23 622
    Par défaut
    Essaie de retirer les apostrophes :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char *argv_v[] = { "vlc","rtp://@:1235", "--sout '#std{access=file,mux=avi,dst=fichier.avi}'", NULL };
    execvp ( "vlc", argv);

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Nan sa na rien changer.

    Y a t'il d'autre code pour exécuter un fichier externe avec les arguments ?

    sous linux.


    Bon après quelque manipulation

    je me suis aperçue que --sout était un autre argument et en fesant le mixte de ce que tu m'as dit en retirant les ' sa marches.

    voici la solution pour que VLC puisse enregistrer un flux vidéo et la sauvegarde.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char *argv[] = { "vlc","rtp://@:1235", "--sout","#std{access=file,mux=avi,dst=fichier.avi}", NULL };
    execvp ( "vlc", argv);
    On ne sait jamais sa peut servir à quelqu'un.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. une erreur avec les pointeur..
    Par lecyberax dans le forum C
    Réponses: 12
    Dernier message: 15/04/2006, 12h04
  2. [XSL] Erreur avec les liens RSS
    Par tania dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 05/12/2005, 16h11
  3. erreur avec les floats
    Par Halobox dans le forum C
    Réponses: 14
    Dernier message: 11/10/2005, 23h23
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Réponses: 4
    Dernier message: 27/08/2003, 21h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo