[Live-devel] MPEG2 to TS Conversion Problems
Andrew Umlauf
andrew_umlauf at yahoo.com
Thu Jul 23 13:26:41 PDT 2009
I am having issues with the testMPEG1or2ProgramToTransportStream file.
Here is what I have done.
1. At first, when I ran the program I would get the following error:
Beginning to read...
BasicTaskScheduler::SingleStep(): select() fails: No error
I found that this error comes from line 89 in BasicTaskScheduler.cpp and is originated by the call to select() on line 70. To remedy (work around) I commented out exit(0) on line 91.
2. Now the program will run all the way through. Here is my output:
Beginning to read...
BasicTaskScheduler::SingleStep(): select() fails: No error
Done reading.
Wrote output file: "out.ts"
Although this runs, my output file (out.ts) is 0 bytes.
3. Finally, to try an isolate the problem a little more, I edited testMPEG1or2ProgramToTransportStream.cpp to read the following
int main(int argc, char** argv) {
------------------------------
// Open the input file as a 'byte-stream file source':
FramedSource* inputSource = ByteStreamFileSource::createNew(*env, inputFileName);
if (inputSource == NULL) {
*env << "Unable to open file \"" << inputFileName
<< "\" as a byte-stream file source\n";
exit(1);
}
/*// Create a MPEG demultiplexor that reads from that source.
MPEG1or2Demux* baseDemultiplexor = MPEG1or2Demux::createNew(*env, inputSource);
// Create, from this, a source that returns raw PES packets:
MPEG1or2DemuxedElementaryStream* pesSource = baseDemultiplexor->newRawPESStream();
// And, from this, a filter that converts to MPEG-2 Transport Stream frames:
FramedSource* tsFrames
= MPEG2TransportStreamFromPESSource::createNew(*env, pesSource);
*/
FramedSource* tsFrames = inputSource;
// Open the output file as a 'file sink':
MediaSink* outputSink = FileSink::createNew(*env, outputFileName);
-----------------------------------------
}
In the above code, the part that translates the mpg stream into a ts stream was commented out and "short circuited". The result was a out.ts file that was the same size as the in.mpg file.
This implies that there is a problem with the translation code. I am new to live-555 however so I have no idea where to begin.
Has anybody else has these issues. If so, how to fix?
P.S. I had the same output as #1 when I try to run MPEG2TransportStreamIndexer.exe and other test files.
-Andrew U
More information about the live-devel
mailing list