Ik heb, omdat ik een timed cat nodig ben, zelf een soort (eenvoudige) cat functie gemaakt welke voor een bepaalde tijd vanaf /dev/video0 output geeft:
Nu is het probleem dat als ik deze output met de 'normale' cat genereer, ffmpeg de file ziet als een mpeg gecodeerde file. Als ik echter de output genereer met mijn programmaatje, herkend ffmpeg de stream ineens niet meer. Heeft iemand misschien een idee waar dit aan kan liggen?
/edit: Windows Mediaplayer speelt beide mpegs overigens netjes af zonder problemen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| #include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
FILE * pFile;
time_t seconds;
time_t endtime;
char c;
long addtime;
if (argc <= 1) {
fprintf (stderr,"Please supply a recording time in seconds!\n");
exit(1);
}
addtime = atoi(argv[1]);
seconds = time (NULL);
endtime = seconds + addtime;
printf ("Current time: %ld\n",seconds);
printf ("Ending time : %ld\n",endtime);
pFile=fopen ("/dev/video0","rb");
if (pFile==NULL) perror ("Error opening file");
else
{
do {
c = fgetc (pFile);
printf ("%c",c);
seconds = time (NULL);
} while (seconds<endtime);
fclose (pFile);
}
return 0; |
Nu is het probleem dat als ik deze output met de 'normale' cat genereer, ffmpeg de file ziet als een mpeg gecodeerde file. Als ik echter de output genereer met mijn programmaatje, herkend ffmpeg de stream ineens niet meer. Heeft iemand misschien een idee waar dit aan kan liggen?
/edit: Windows Mediaplayer speelt beide mpegs overigens netjes af zonder problemen.
[ Voor 16% gewijzigd door Verwijderd op 07-01-2004 19:25 ]