Avatar billede dankerlinnet Nybegynder
06. december 2012 - 22:38 Der er 5 kommentarer

Kan ikke køre ffmpeg gennem shell_exec() !

Når jeg kører følgende streng gennem kommando linien på min linux server, funger alt og optagelsen fra mit webcam fungerer fint.

Men når jeg forsøger at starte optagelsen via et php script, får jeg startet ffmpeg, men får en fejlmeddelelse om at jeg ikke har adgang til mit webcam.

Kommandoen:
ffmpeg -y -f video4linux2 -s 640x480 -t 00:01:00 -r 25 -i /dev/v4l/by-id/usb-046d_089d-video-index0 -metadata title="test" webcam.avi

Mit PHP script

$output = shell_exec('/usr/bin/ffmpeg -y -f video4linux2 -s 640x480 -t 00:01:00 -b 5000k -r 25 -i /dev/v4l/by-id/usb-046d_089d-video-index0 -metadata title="RORUPVEJ25" AugustNEW.avi 2>&1
');
echo "<pre>$output</pre>";

Fejlmeddelelsen fra php:

FFmpeg version SVN-r0.5.9-4:0.5.9-1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.9-1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static
  libavutil    49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat  52.31. 0 / 52.31. 0
  libavdevice  52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale    0. 7. 1 /  0. 7. 1
  libpostproc  51. 2. 0 / 51. 2. 0
  built on Jun 10 2012 10:30:14, gcc: 4.4.5
[video4linux2 @ 0x9adfa60]Cannot open video device /dev/v4l/by-id/usb-046d_089d-video-index0 : Permission denied
/dev/v4l/by-id/usb-046d_089d-video-index0: I/O error occurred
Usually that means that input file is truncated and/or corrupted.

Nogen løsningsforslag ?
Avatar billede swiatecki Novice
06. december 2012 - 23:40 #1
prøv at logge ind som den bruger(www-data?) der afvikler apache/din webserver og se om denne har lov til dette?

Det kan meget muligt være at www-data(eller hvad du har), ikke har lov til at læse /dev/*
Avatar billede dankerlinnet Nybegynder
07. december 2012 - 00:10 #2
Så får jeg samme fejlmeddelelse... Så det kunne godt være problemet.... er så bare lidt i tvivl om, hvordan jeg giver www-data adgang til /dev/...
Avatar billede swiatecki Novice
07. december 2012 - 00:55 #3
Prøv evt. at mounte /dev/usb.. til en sti som www-data må læse
Avatar billede dankerlinnet Nybegynder
07. december 2012 - 01:00 #4
Har nu lavet en chown -R /dev/v41/by-id/ på mappen som indeholder mit Webcam... Samme fejl :-(
Avatar billede dankerlinnet Nybegynder
07. december 2012 - 09:37 #5
Har nu prøvet at mounte mit webcam (Kan man det ?) med

mount /dev/video0 /var/www som www-data har adgang til, men får følgende fejl

mount: /dev/video0 er ikke en blokenhed

Er godt nok ikke den skarpeste kniv i skuffen til linux system kommandoer... :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester