Re: [FFmpeg-soc] [FFmpeg-devel] GSoC 2008 qualification task TS Muxer
2008/3/19, Baptiste Coudurier <baptiste.coudurier@smartjog.com>:
Hi,
zhentan feng wrote:
hi all, My name is zhentan feng,and I am very glad to apply the gsoc project.
According to the idea list and ffmpeg wiki, I prefer to apply the MXF muxer which mentored by Baptiste Coudurier.
As to qualification task, I want to choose the TS Muxer project which also mentored by Baptiste Coudurier. So,could Baptiste Coudurier or anybody give me more details about the TS Muxer qualification task? best wished to all~
Good, last year SoC TS muxer was not finished though working, and more important not integrated.
The qualification task is:
1) Eliminate duplicated code found in both mpegtsenc.c and mpegenc.c (current PS muxer): extract common functions, putting them in mpegpesenc.c, extending them for TS only if strictly needed.
Code is at: svn://svn.mplayerhq.hu/soc/dvbmuxer I already checked it out and look through the files. It seems that mpegpesenc.c is the common functions extracted from both mpegtsenc.c and mpegenc.c. The mpegpesenc.c just packet stream to PES packet. But I still confused what're the problems with mpegpesenc.c? Is mpegpesenc.c lack of some function or can not work correctly?
further more, I think i need some time to farmilar with the TS, PS, PES packet format. Do you have some useful documents to recommend?
2) Verify strictly the conformance of generated TS streams (we do need another broken muxer), if not, fix it.
I understand the 2) as follow: first, generate a TS stream (T1) by mpegtsenc.c originally; second , generate a TS stream (T2) by mpegtsenc.c(modified by cutting the common code with mpegenc.c) call the functions in mpegpesenc.c ; T1 and T2 have the same source stream. then compare T1 and T2 to see are they conformance by examine the TS packet format?
3) Submit clean and separate patches against SVN for inclusion.
3) Extend it to support H264 muxing. I understand it as follow: read the stream which is H264 coded, and transform the header and
Does this point means if I have finished 1) and 2), I should commit the codes to ffmpeg src repo? payload to PES packet,and then packeted to TS stream itend to transport high efficiency? I think the qualification task is not a easy task ,but I'll try my best. Thank for anyone could give me any help.
You can use the dedicated SoC mailing list. https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc
I post some question to the soc-mailist the yesterday morning to choose the JPEG 2000 Encoder and Decode project,but anyone replied it. And I find some one already chose it in the devel-maillist and be confirmed yesterday afternoon. So I think first time to post in the devel-maillist is a good idea:) Then I will cc the post to the soc-maillist. best regards~
--
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA SMARTJOG SAS http://www.smartjog.com Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA Phone: +33 1 49966312 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@mplayerhq.hu https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
Hi, zhentan feng wrote:
2008/3/19, Baptiste Coudurier <baptiste.coudurier@smartjog.com>:
Hi,
zhentan feng wrote:
hi all, My name is zhentan feng,and I am very glad to apply the gsoc project.
According to the idea list and ffmpeg wiki, I prefer to apply the MXF muxer which mentored by Baptiste Coudurier.
As to qualification task, I want to choose the TS Muxer project which also mentored by Baptiste Coudurier. So,could Baptiste Coudurier or anybody give me more details about the TS Muxer qualification task? best wished to all~
Good, last year SoC TS muxer was not finished though working, and more important not integrated.
The qualification task is:
1) Eliminate duplicated code found in both mpegtsenc.c and mpegenc.c (current PS muxer): extract common functions, putting them in mpegpesenc.c, extending them for TS only if strictly needed.
Code is at: svn://svn.mplayerhq.hu/soc/dvbmuxer I already checked it out and look through the files. It seems that mpegpesenc.c is the common functions extracted from both mpegtsenc.c and mpegenc.c. The mpegpesenc.c just packet stream to PES packet. But I still confused what're the problems with mpegpesenc.c?
Basically nothing.
Is mpegpesenc.c lack of some function or can not work correctly?
It lacks some functions and might not work "as is" with the PS muxer, so it would need to be extended a bit.
further more, I think i need some time to farmilar with the TS, PS, PES packet format. Do you have some useful documents to recommend?
Sure, ISO 13818-1.
2) Verify strictly the conformance of generated TS streams (we do need another broken muxer), if not, fix it.
I understand the 2) as follow: first, generate a TS stream (T1) by mpegtsenc.c originally;
If you mean current svn, no, this is not needed, current TS muxer (in svn) is broken.
second , generate a TS stream (T2) by mpegtsenc.c(modified by cutting the common code with mpegenc.c) call the functions in mpegpesenc.c ; T1 and T2 have the same source stream. then compare T1 and T2 to see are they conformance by examine the TS packet format?
Well, you must understand the code, and verify output stream conformance, more especially PCR values, buffer sizes, VBR muxing, against "specifications", and some advanced tools if you can have access to.
3) Submit clean and separate patches against SVN for inclusion.
Does this point means if I have finished 1) and 2), I should commit the codes to ffmpeg src repo?
Send separate, clean and incremental patches first, for review. Don't wait the last day to send patches.
3) Extend it to support H264 muxing. I understand it as follow: read the stream which is H264 coded, and transform the header and payload to PES packet,and then packeted to TS stream itend to transport high efficiency?
Well, TS muxer will get H264 stream in AVPackets, and this must be PES muxed, then TS packetized, you must ensure stream is muxed correctly according to specifications.
I think the qualification task is not a easy task ,but I'll try my best. Thank for anyone could give me any help.
I don't think extracting duplicated code from mpegenc.c and mpegtsenc.c is that hard. H264 muxing might be slightly harder. This qualification task should really familiarize you with muxing concepts needed for the MXF muxer. -- Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA SMARTJOG SAS http://www.smartjog.com Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA Phone: +33 1 49966312
hi all, I have read through ISO13818 and the original TS Muxer codes by several days, and finally generated a patch attached below. I just extracted the common code lines from mpegtsenc.c and mpegenc.c, and added these codes to mpegpesenc.c and .h files. It may have some errors or unsuitable format although i have reviewed many times. Thanks anyone who points them out. Further more, I have 2 questions: 1)How can I test my patch is correct? I just get 4 files through the link: svn://svn.mplayerhq.hu/soc/dvbmuxer. I download the ffmpeg source code from svn://svn.mplayerhq.hu/ffmpeg/trunk,but I can not find the 4files. Is it means that I should copy the 4 files to ffmpeg sourcer code and overwrite some files and rebuild the all source codes?
Well, you must understand the code, and verify output stream conformance, more especially PCR values, buffer sizes, VBR muxing, against "specifications", and some advanced tools if you can have access to.
2)what is the sign of the codes do work correctly? I think i need some TS sample files or anything else? best regards ~ 2008/3/19, Baptiste Coudurier <baptiste.coudurier@smartjog.com>:
Hi,
zhentan feng wrote:
2008/3/19, Baptiste Coudurier <baptiste.coudurier@smartjog.com>:
Hi,
zhentan feng wrote:
hi all, My name is zhentan feng,and I am very glad to apply the gsoc project.
According to the idea list and ffmpeg wiki, I prefer to apply the MXF muxer which mentored by Baptiste Coudurier.
As to qualification task, I want to choose the TS Muxer project which also mentored by Baptiste Coudurier. So,could Baptiste Coudurier or anybody give me more details about the TS Muxer qualification task? best wished to all~
Good, last year SoC TS muxer was not finished though working, and more important not integrated.
The qualification task is:
1) Eliminate duplicated code found in both mpegtsenc.c and mpegenc.c (current PS muxer): extract common functions, putting them in mpegpesenc.c, extending them for TS only if strictly needed.
Code is at: svn://svn.mplayerhq.hu/soc/dvbmuxer I already checked it out and look through the files. It seems that mpegpesenc.c is the common functions extracted from both mpegtsenc.c and mpegenc.c. The mpegpesenc.c just packet stream to PES packet. But I still confused what're the problems with mpegpesenc.c?
Basically nothing.
Is mpegpesenc.c lack of some function or can not work correctly?
It lacks some functions and might not work "as is" with the PS muxer, so it would need to be extended a bit.
further more, I think i need some time to farmilar with the TS, PS, PES packet format. Do you have some useful documents to recommend?
Sure, ISO 13818-1.
2) Verify strictly the conformance of generated TS streams (we do need another broken muxer), if not, fix it.
I understand the 2) as follow: first, generate a TS stream (T1) by mpegtsenc.c originally;
If you mean current svn, no, this is not needed, current TS muxer (in svn) is broken.
second , generate a TS stream (T2) by mpegtsenc.c(modified by cutting the common code with mpegenc.c) call the functions in mpegpesenc.c ; T1 and T2 have the same source stream. then compare T1 and T2 to see are they conformance by examine the TS packet format?
Well, you must understand the code, and verify output stream conformance, more especially PCR values, buffer sizes, VBR muxing, against "specifications", and some advanced tools if you can have access to.
3) Submit clean and separate patches against SVN for inclusion.
Does this point means if I have finished 1) and 2), I should commit the codes to ffmpeg src repo?
Send separate, clean and incremental patches first, for review. Don't wait the last day to send patches.
3) Extend it to support H264 muxing. I understand it as follow: read the stream which is H264 coded, and transform the header and payload to PES packet,and then packeted to TS stream itend to transport high efficiency?
Well, TS muxer will get H264 stream in AVPackets, and this must be PES muxed, then TS packetized, you must ensure stream is muxed correctly according to specifications.
I think the qualification task is not a easy task ,but I'll try my best. Thank for anyone could give me any help.
I don't think extracting duplicated code from mpegenc.c and mpegtsenc.c is that hard. H264 muxing might be slightly harder.
This qualification task should really familiarize you with muxing concepts needed for the MXF muxer.
--
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA SMARTJOG SAS http://www.smartjog.com Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA Phone: +33 1 49966312 _______________________________________________
FFmpeg-soc mailing list FFmpeg-soc@mplayerhq.hu https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc
-- Best wishes~
On Mon, Mar 24, 2008 at 11:09:12PM +0800, zhentan feng wrote:
[...]
Points off for top-posting... Diego
participants (3)
-
Baptiste Coudurier -
Diego Biurrun -
zhentan feng