[Questions] AVCodec/AVFormat - FFMPEG - Linux vs. Windows
Hello,
is anybody out here who has worked with FFMPEG, especially with the included libraries to read/write AVI files?
I got a problem which I was unable to solve yet: I wrote a program that converts an avi video stream (codec rawvideo, 24bpp, 25fps, QCIF [176x144]) into H.263 encoded RTP payloads. These payloads are written into a file on the harddisc. Works great under Linux. I can view this RTP file using MPlayer or VideoLAN (VLC).
Now the problem is, I ported this program to Windows using ffmpeg libraries I successfully translated under a MinGW environment (that started vcvars32.bat from MS Visual Studio 8) and the ported version of my program doesn't work under Windows as it does under Linux. It's 99% the same code as it has under Linux. But the RTP file seems somewhat scrambled. When I view it in MPlayer or VLC, there's just a green colored screen with some flashing light green lines. Also the raw encoded data I get back from avcodec_encode_video call (the buffer it returns) written to a file has the same effect.
Another effect I encountered was a variing size of encoded data under Windows where it has static sizes under Linux. For example under Linux frame #140 of the short sequence has always an encoded length of 1204 bytes. Under Windows the same frame varies somewhat in between 2100 and 2200 bytes everytime I start the program using always the same sequence. I don't understand that effect. When I use a program that calculates something and that always gets the same input data, it should always return the same values, shouldn't it? Well under Linux my program does. But it doesn't under Windows. So if anybody could help me, I would be very thankful.
Maybe there is an alternative solution for using FFMPEG under Windows (within Visual Studio .NET 2005) to convert an AVI file frame by frame to a bunch of H.263 encoded RTP Payloads?
Thanks in advance!
Greetings,
Hendrik
|