freeMXF.org http://freemxf.org/forum/ |
|
freeMXF Binaries Problem http://freemxf.org/forum/viewtopic.php?f=2&t=187 |
Page 1 of 2 |
Author: | m0nKeY [ Thu Nov 19, 2009 3:13 pm ] |
Post subject: | freeMXF Binaries Problem |
Hi, i'm new here. so glad to get you to know. i am tyring to demux an mxf with the mxflib under windows. the first thing i noticed, is that there is no mxfsplit.exe just a mxfcrypt. so i tryed mxfcrypt.exe with parameter -d but i get this errors: ERROR: XML FATAL ERROR: Failed to load dictionary "dict.xml" ERROR: XML FATAL ERROR: Failed to load dictionary "DMS_Crypto.xml" hope you can help me. greetings m0nKeY |
Author: | Matt Beard [ Fri Nov 20, 2009 11:35 am ] |
Post subject: | |
What version of the test applications are you using? If you download any of the windows executables it should have mxfsplit.exe in there? |
Author: | m0nKeY [ Fri Nov 20, 2009 11:38 am ] |
Post subject: | |
I'm using this "mxfcrypt-noDLL-1.0.0-win32.exe.zip". Now i understand my problem... I used the link automatic generated by sourceforge, but that was the wrong file. Ok, i got now a mxfsplit.exe but now i have a different problem, it doesn't demux my MXF. Code: MXFlib File Splitter
Partition 1 at 0x00000000 for BodySID 0x0002 Elements for BodySID 0x0002 EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010202] L=0x000000 60 GC Element: L=0x0003d090 File=_0002-G05010100.Stream NEW GC Element: L=0x0000f004 File=_0002-G06011000.Stream NEW EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 EXTRANEOUS (non-GC) Element: K=[060e2b34.0243.0101.0d010301.04010201] L=0x000000 43 GC Element: L=0x0003d090 File=_0002-G05010100.Stream GC Element: L=0x0000f004 File=_0002-G06011000.Stream EXTRANEOUS (non-GC) Element: K=[060e2b34.0205.0101.0d010301.04010100] L=0x000000 39 Excessive Extraneous Elements in this Partition...skipping the rest Partition 2 at 0x18a1dc00 for BodySID 0x0000 No Body in this Partition Closing _0002-G05010100.Stream, size 0x40d990 Closing _0002-G06011000.Stream, size 0xff044 |
Author: | Matt Beard [ Sat Nov 21, 2009 10:14 am ] |
Post subject: | |
It looks like it succeeded from the text you quoted. There are four elements in that file (and from the info it seems to be D10). The first two elements are not essence, but system items - these are discarded as extracting them would almost certainly not be useful. The next two are the video and audio and are extracted into files called _0002-G05010100.Stream and _0002-G06011000.Stream. The video file should be a playable MPEG-2 Elementary Stream. Just rename is as <something>.mpg or .m2v The audio is AES formatted PCM audio and is unlikely to be playable by most applications. However it is pretty easy to write a small program to convert this to wave format. |
Author: | m0nKeY [ Thu Nov 26, 2009 9:43 am ] |
Post subject: | |
I'm sorry, but that did not help me. you are right there 2 stream files, but one file is 4MB and the other one is 1 MB. The mpegvideostream should be something like 500 MB. This MXF file is from a sony xdcam, could that help you? i know that there are many differences between MXF Containers. Greetings m0nKeY |
Author: | Matt Beard [ Thu Nov 26, 2009 10:39 am ] |
Post subject: | |
Ah, this seems to be an old bug that was fixed in version 1.0.1 I did not upload a set of executables for this release, so I have now done so. If you download the latest file it should work. Sorry for the confusion! |
Author: | m0nKeY [ Thu Nov 26, 2009 11:14 am ] |
Post subject: | |
In the time you answered me, i tried the 1.0.1 Beta under Ubuntu. Now i got 2 stream files too. the first is 80MB and it is an mpeg stream, but only a few seconds of the whole clip and the secodn one is 17MB and i can't play it as wave neather as m2v. P.S.: I am unable to download the new 1.0.1 from sourceforge. "Unable to find any mirror information for the "/mxflib-beta-1.0.1-win32.exe.zip" file. Please select another file. " |
Author: | Matt Beard [ Fri Nov 27, 2009 6:10 pm ] |
Post subject: | |
I'm not sure what is going on with SourceForge - it may be that their new system takes time for downloads to become available. I have tried a 4GB file with the latest 1.0.1 executables and it produced a 3.8GB MPEG2 file that played the whole way through and a 178MB audio file that is not playable by normal tools (but could be reformatted with a bit of simple code if required) If the new files are still not downloadable in a couple of days I will upload them to this site. |
Author: | m0nKeY [ Fri Nov 27, 2009 6:26 pm ] |
Post subject: | |
Thanks, strange but the windows lib works correct for me now. i could download right after i read this post from you. my last qeustions is now, how can i reformat the audiostream or is there any programm which plays AES3 data. I tried to the mxfsplit parameter -w because i read this thread. But if i rename the file to wav, its only noise. I opened it with audacity and there are 8 channels. so why is this only noise? greetings |
Author: | Matt Beard [ Sat Nov 28, 2009 9:41 am ] |
Post subject: | |
You will need to do a slightly different conversion to get a wave file. I do have some code that does this, but at the moment it is not able to be added to the open source library (I wrote this for a different project) but I can tell you what needs to be done. If you are able to write simple programs this should be quite quick to do. Extract the audio stream without using -w. Determine the number of active audio streams and the number of bits per sample (16 or 24). Both available from the metadata in the file. You will need to be able to write a wave header, but that is quite simple with the information here The process is then: Code: WriteWaveHeader()
For each sample of input data { For channel is 1 .. 8 { Read 4 bytes from the source data If channel is less than or equal to number of channels { If data is 16 bits build a 16-bit word from source byte 2, top 4 bits, followed by byte 3 bottom 4 bits, then byte 3 top 4 bits, then byte 4 bottom 4 bits If data is 24 bits build a 24-bit word from source byte 1, top 4 bits, followed by byte 2 bottom 4 bits, then byte 2, top 4 bits, then byte 3 bottom 4 bits, then byte 3 top 4 bits, then byte 4 bottom 4 bits Write the new value to the output file } } } |
Author: | m0nKeY [ Sat Nov 28, 2009 9:30 pm ] |
Post subject: | |
i'm no programmer, but i can wrie simple programms. this just dont look for me like a simple programm. but why is this paramater -w in mxfsplit if it doesnt work? i read a little bit in the source code and mxfsplit does nothing else then adding a wave header to the aes3 pcm stream. greetings m0nKeY |
Author: | Matt Beard [ Sun Nov 29, 2009 12:23 pm ] |
Post subject: | |
I would expect that anyone with experience of bit-wise operations in C would have no significant difficulty with the code described above. Unfortunately I cannot currently go any further without risking upsetting the owners of the code I wrote to do the same job. I hope to get permission to release it as part of MXFLib soon! The -w parameter in MXFSplit is there for converting uncompressed SMPTE 382M audio (also called AESBWF or AES/BWF) into wave files. It is not intended for non SMPTE 382M audio. |
Author: | m0nKeY [ Mon Jan 04, 2010 8:19 pm ] |
Post subject: | |
Hi, its me again. I found the time to write this programm to convert the audiostream in my mxf to wave. but i got some serious concerns about the audiodataformat in my MXF. Am i right, if i think your pseudocode is for the conversion of AES3 data to wave as its discribed in the standard from the AES? Because my MXF is a file from a XDCAM and its D10 Essence Data. Its recorded over SDI. I think there is a difference between AES3 Standard like data and AES3 data recorded over SDI into a MXF, because i dont find the preambles definded in the AES3 Standard in my audiostream. Thats because i'm not sure if the conversion you descibe is right for my audiostream. I hope you can help me. Greetings Sebastian |
Author: | Matt Beard [ Tue Jan 05, 2010 2:38 pm ] |
Post subject: | |
Odd, because this code is almost exactly what I use and it works fine on my XDCAM test files. Are you able to send me your conversion code to see if I can see what is different? Unfortunately I can't send you mine as I don't own full rights to it! |
Author: | m0nKeY [ Tue Jan 05, 2010 3:58 pm ] |
Post subject: | |
Hi, now know who you are. You worked by your self on the standartisation of MXF. Right now i'm reading "the mxf book" you worked on, too. I have great respect for your work. No, its not that i have a conversion code. I'm working on my diploma thesis and its not enough to use your pseudocode. I have to understand the structure of the aes3 data wich is mapped into the MXF file. So i read the AES3-2003 Standard but its only for 2-channel audiodata. Now i read "the mxf book" and i found the chapter about mapping D10-Data into MXF. So i know now, that i have to look in the SMPTE 331M standard. Even if there is some information in "the mxf book", i have some more questions. i hope my englisch is not the baddest. greetings sebastian Note by Matt: I did work on the MXF standards, but not alone! |
Page 1 of 2 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |