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.
Ce programme marche et VLC lit bien le flux rtp entrant.
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);
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:
ouvlc rtp://@:1235 --sout "#std{access=file,mux=avi,dst=fichier.avi}"
les deux marches.vlc rtp://@:1235 --sout '#std{access=file,mux=avi,dst=fichier.avi}'
C'est là où arrive mon problème, dans la logique des choses, j'ai fait ceci
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.
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);
Si vous avez une idée
merci d'avance
Partager