Hi, all. I'm new here. I'm looking at the documentation for ffmpeg and it appears that MPEG-2 TS is not a supported encoding (output) format. Is this correct? If so any ideas about where I might get a (source preferred, but maybe not required) simple MPEG Transport multiplexer? thanks, emilio
Emil Rojas wrote:
Hi, all. I'm new here.
I'm looking at the documentation for ffmpeg and it appears that MPEG-2 TS is not a supported encoding (output) format. Is this correct? If so any ideas about where I might get a (source preferred, but maybe not required) simple MPEG Transport multiplexer?
It actually does support the TS output. The name of the output format you're looking for is mpegts. If you're interested in the source: libavformat/mpegtsenc.c -- Brian Brice In order to know recursion, you must first know recursion...
Yes, I just tried it and I see that it works. I was just coming back to send that info to the list. I guess the doc is just out of date. I will take a look at the code and see. I need to have a PATs, PMTs, and PCRs in the stream. Is this supported? If not is it desirable to add this as an option? I also need to manage the TS bit rate to be constant. I will look at the code and ask more concrete questions. thanks emilio On 5/31/06, Brian Brice <bbrice at newtek.com> wrote:
Emil Rojas wrote:
Hi, all. I'm new here.
I'm looking at the documentation for ffmpeg and it appears that MPEG-2 TS is not a supported encoding (output) format. Is this correct? If so any ideas about where I might get a (source preferred, but maybe not required) simple MPEG Transport multiplexer?
It actually does support the TS output. The name of the output format you're looking for is mpegts. If you're interested in the source: libavformat/mpegtsenc.c
-- Brian Brice In order to know recursion, you must first know recursion... _______________________________________________ ffmpeg-user mailing list ffmpeg-user at mplayerhq.hu http://lists.mplayerhq.hu/cgi-bin/mailman/listinfo/ffmpeg-user
-- emilio
I need to have a PATs, PMTs, and PCRs in the stream. Is this supported? If not is it desirable to add this as an option? I also need to manage the TS bit rate to be constant. I will look at the code and ask more concrete
I've tried to do that too, but I haven't been very succesfull in making a set top box-compatible TS. First of all, the code says: /* XXX: this is incorrect, but at least we have a PCR I have tried to fix that with an ugly kludge: First change the "pcr = pts" into something like pcr = pts - 12000; if(pcr < 0) pcr=0; It doesn't make sense to claim that the contents of this packet should be visible on the screen at the exact same nanosecond the TS packet is received. Then I used a piece of code that I wrote myself to read the ts, correct duplicate pcr-values to better ones, and output it to the next program in the pipe. http://users.utu.fi/mijutu/digitv/broadcasting/cbrts-pcr.c Quite horrible code. I stopped the development after getting it work once. Maybe I find the time to finish that some year. :-) I think the pcr's might still go a bit wrong. To be able to output correct pcr from ffmpeg, one should of course add an option to set the bitrate and then add some null packets to keep the bitrate constant. I suggest you also check out JustDVB-IT. It creates dsmcc carousels, PAT, PMT, etc: http://krusty.cineca.it/vpweb/cgi-bin/blosxom-orig.cgi/
I multitaking over here, and I have not had time to dig into the code, but at the moment I am trying to take an AVI file, turn into an pure MPEG-2 program stream and then wrap that in a transport multiplex. I have treid a few different options for getting to a program stream, but the have failed. When I go straight to a mpegts the file gets much smaller, and though it has a transport structure with PAT, PMT, VIDEO and Audio I suspecious since it is so much smaller. However I don't know much about avi files. Is there a command that just takes apart the file and tells me what is in it? Any other ideas? On 5/31/06, Mikko Tuumanen <mijutu at utu.fi> wrote:
I need to have a PATs, PMTs, and PCRs in the stream. Is this supported? If not is it desirable to add this as an option? I also need to manage the TS bit rate to be constant. I will look at the code and ask more concrete
I've tried to do that too, but I haven't been very succesfull in making a set top box-compatible TS.
First of all, the code says: /* XXX: this is incorrect, but at least we have a PCR I have tried to fix that with an ugly kludge:
First change the "pcr = pts" into something like pcr = pts - 12000; if(pcr < 0) pcr=0;
It doesn't make sense to claim that the contents of this packet should be visible on the screen at the exact same nanosecond the TS packet is received.
Then I used a piece of code that I wrote myself to read the ts, correct duplicate pcr-values to better ones, and output it to the next program in the pipe. http://users.utu.fi/mijutu/digitv/broadcasting/cbrts-pcr.c Quite horrible code. I stopped the development after getting it work once. Maybe I find the time to finish that some year. :-) I think the pcr's might still go a bit wrong.
To be able to output correct pcr from ffmpeg, one should of course add an option to set the bitrate and then add some null packets to keep the bitrate constant.
I suggest you also check out JustDVB-IT. It creates dsmcc carousels, PAT, PMT, etc: http://krusty.cineca.it/vpweb/cgi-bin/blosxom-orig.cgi/
_______________________________________________ ffmpeg-user mailing list ffmpeg-user at mplayerhq.hu http://lists.mplayerhq.hu/cgi-bin/mailman/listinfo/ffmpeg-user
-- emilio
participants (3)
-
bbrice@newtek.com -
erojas@google.com -
mijutu@utu.fi