Copy link to clipboard
Copied
I tried posting this on the resurrected Connect forum, but my Adobe ID wasn't recognized there....
Concerning the files that are included in the .zip file of the meeting recording that can be downloaded:
1) Is there any documentation describing the files and their contents (i.e. what each file represents, what each XML element and attribute in those files represent)
2) Are there any files that capture mouse movement on a shared desktop?
Thank you!
Copy link to clipboard
Copied
1. No, there is no documentation that I am aware of. Most are pretty intuitivley named:
cameraVoip is the file that contains the live video (if any) and VoIP audio.
ftcontent is the share pod, and the call to the content on the server
ftscreenShare is the screen share
etc...
2. Not sure about the information captureing the mouse movement. It would likely be in the screenshare xml file, but I'm not 100% on that.
Copy link to clipboard
Copied
I spent over an hour trying to make sense of all the XML files and finally gave up. I just wanted to delete some coments and fix text in others.
Copy link to clipboard
Copied
Yeah, playing with these files is not a user friendly as you may expect out of the gate. This download function for the recordings was never intended to be used for editing of the recordings. It is just an application of the API functionality available for downloading any content off the Connect server.
Copy link to clipboard
Copied
I have spent quite a bit of time "reverse engineering" the indexstream manifest to mux multiple video and audio streams already. Along the way discovering many complications like having to deal with dropped video/audio that Adobe may not reflect in the manifest or in the stream length itself, realizing that the start time of a shared desktop does not actually coincide with when it becomes visible and the start of the video stream, etc. etc., so I appreciate it is definitely not easy. And I haven't even touched annotations, marker movement, chat, etc. I hoped that documentation on the XML might help improve my handling of some of these things, but it seemed obvious already that all of this is a "back door" and not really actively encouraged so no documentation is not a surprise. Unfortunately, with no other facility to automate a consistent and reliable download of the meeting that is not machine and/or network dependent, I feel like I have no choice but to put this effort in. If I'm mistaken, please enlighten me.
Copy link to clipboard
Copied
Hi Sean,
There is no documentation available except for what the Connect Support team has put together for internal use, and very little is external facing. In order to edit recording files other than those which contain media only (such as screensharing FLVs and/or the cameraVoip flv or the myvoicestream.flv file), you will need a tool called XML2FLV and FLV2XML. These programs I believe come with FMS, but if you've got an on-site installation of Connect you should be able to find these files there too.
The reason why you need this is; if you want to edit data in your chat or notes pod (for example), you cannot simply edit the ftchat#.xml file that's present in the recording. Those are there for Connect indexing purposes only and cannot be edited to alter your recordings. Therefore, what you have to do is take your ftchat (again, just an example) FLV file and convert to XML using FLV2XML. You make your edits in that file, then convert back to FLV using XML2FLV. Put that file in your recording, zip it, upload and review.
I realize this isn't a lot of help, but editing these recordings can be extremely complex. We do at least have a recording that I and my coworker Jaydeep put together last year which should explain some of this, and give you access to a tool Jaydeep created that will help:
http://blogs.adobe.com/connectsupport/new-support-webinar-recording-architecture-and-basic-edits/
A final tip - none of this is really supported, so a word to the wise: never, ever delete, edit or destroy your original recording! Edit, and upload as a new copy.
Hope this helps!
Lauren
Copy link to clipboard
Copied
Lauren,
Thanks again for the great insight!
Copy link to clipboard
Copied
@Jorma - no problem! This is one area I know a good detail about so I'm happy to help.
@Sean - another note...I see you mention you're looking to "mux" a few audio video streams? Could you elaborate a little further on what you're looking to do? Just on the surface, to me this seems possible. Difficult, but possible!
Copy link to clipboard
Copied
To be clear, the most critical goal I'm trying to accomplish is to create an automated process that will download the recording meeting at its highest quality in a consistent and reliable manner. This has to led to the discovery that an automated download is possible, but of course with new challenge of having to reconstruct the meeting. This actually presents a lot of flexibility that I am trying to take advantage of - essentially the same as reconstructing the meeting into an redistributable video file, but with content I can pick and choose, and layout exactly as I want. To do this, of course, I have to reproduce some of the functionality that Connect provides, starting and combining video and audio streams according to the instructions in the control files. There's a lot of good information provided in the download to support all of this, but it only really works easily when no problems were encountered during the recording. 😉 And then you have to start dealing with all kinds of possible complications. And for that, I was hoping that maybe understanding the control files better might resolve some of these issues. And now I'm excited to see how Jaydeep's utility might help in this regard!
As for the mouse movement question that wasn't really addressed yet, after watching the webinar I'm suddenly optimistic this is hidden in an .flv but that doesn't do me any good until I track down the utilities you mention....
Copy link to clipboard
Copied
I did some digging, and if you have a Connect server, you should be able to find the FLV2XML tool at the following location: {rootinstall}\appserv\win32\builder\flv2xml (found here: http://forums.adobe.com/thread/124824). When looking at my dev server (Connect 9), I see the flv2xml tool at C:\Connect\9.0.0.1\appserv\win32\builder\.
I've not been able to locate that tool in an FMS/AMS installation, but I'll keep looking.
Copy link to clipboard
Copied
Yeah, I saw reference to that path as well, but we are running the Adobe-hosted Connect...
Copy link to clipboard
Copied
Hi Sean,
Regarding your first post:
Thanks Jorma! I don't have access to an FMS build at the moment but I'm quite certain it's there. As for contacting Jaydeep, I am 90% sure he authorized us to broadcast his email on here if folks had questions about the tool, but, in the case that I'm wrong and he didn't - I'm going to double-check first.
Regarding your most recent post..
"To be clear, the most critical goal I'm trying to accomplish is to create an automated process that will download the recording meeting at its highest quality in a consistent and reliable manner".
I personally believe this is possible; unfortunately, I haven't seen it done yet. If your recording contains:
- audio
- a camera feed
- screensharing
Then I think you might be able to get this going. If it contains shared content, like a shared PPT, this gets trickier.
"To do this, of course, I have to reproduce some of the functionality that Connect provides, starting and combining video and audio streams according to the instructions in the control files."
Exactly right. If your recording didn't contain shared content, then all you've got on your hands are a bunch of audio/video files that you could edit together as you wanted with your favourite video editing tool. If it contains shared content, here's (at a high level) what's happening.
For shared PPTs or FTContent files:
First (for version 9 recordings only), Connect reads the information on the Shared Content's location and SCO within mainstream and indexstream and validates it before loading it. I don't recall this happening to the same extent with version 8 or earlier, but maybe it was. Now, if the content is validated (ie. Connect can find it) the share pod will display as black, if it doesn't, you get an empty pod with an message like "No content is being shared" or something like that.
Connect then looks at the actual FTContent file, and loads the content that is to be shared using the file path and sco ID listed in here. It's important to note that the SCO ID and file path in here will likely not be the same as the original file you uploaded to your room, it's a new SCO id (I believe SCOs of this type are called referenced scos) and new path.
Now...if I was going to build some sort of player which would play all these files in one screen to make a recording...I might not want to use Connect's code here. If you know the file path to the shared content (from FTContent), you could easily view it with the content URL (conveniently also in FtContent). I'm not a coder, but I'm envisioning something like Presenter's GUI where you've got the presentation's content in the main area, and a video file (if there is one) playing back on the side.
Anyways, food for thought if you want to try to go about this. Connect recordings are incredibly complex and they come with a big learning curve, but if you can make sense of them the knowledge is quite valuable.
Copy link to clipboard
Copied
I've dug through my FMS 4.5 and AMS 5 installations and I don't see the flv2xml or xml2flv tools anywhere in them...
And, I can't locate the xml2flv tool anywhere.
Copy link to clipboard
Copied
Lauren,
Thank you very much for pointing me at that webinar. As a testament to the excellent information contained there, I have a couple questions 🙂
1) We've looked at our FMS install folder but can't find the FLV2XML or XML2FLV utilities. Could you provide a specific location to find them?
2) I would very much like to try out Jaydeep's utility, but the version linked to won't run on my machine. Besides, I have other questions about this. How can I contact Jaydeep?
Thank you!