Automatically download & merge Adobe Connect recordings into a single synced MP4.
- Audio + Screenshare only – shared files (PDF, PPTX, WhiteBoard, etc.) are not processed.
- No support for webcam video streams.
- Expect breaking changes in future releases.
- Python 3.8 or newer
- FFmpeg (with
ffmpegandffprobeavailable in your system PATH)
-
Clone the repository or download
vcd.py.git clone https://github.com/IAUCourseExp/VCD cd VCD -
Install the required Python packages:
pip install -r requirements.txt
-
Verify FFmpeg is installed:
ffmpeg -version ffprobe -version
If the commands are not recognised, install FFmpeg from ffmpeg.org and ensure the executables are in your PATH.
Run the script from your terminal:
python VCD.pyYou will be prompted to enter the meeting URL:
Enter meeting URL: (e.g. https://vadavc32.ec.iau.ir/l2e72tear3ee)
The script will:
- Download the recording ZIP from the Adobe Connect(Vadana) server.
- Extract all FLV and XML files into a new folder named after the recording ID.
- Align all streams using internal pacing ticks.
- Generate a detailed
timeline.xml. - Merge everything into a single MP4 file:
Class-<recording_id>.mp4
If you run the script again with the same URL, it will detect the existing folder and skip the download.
- Download – fetches the ZIP from
https://<server>/<recording_id>/output/<recording_id>.zip. - Tick extraction – reads pacingTick timestamps from XML files to build a common timeline.
- Segment creation – determines when each screenshare video and audio file is active.
- Timeline XML – writes a unified timeline with exact offsets.
- Rendering – uses FFmpeg to overlay video segments on a black canvas (no stale frames) and mix all audio pieces with proper delays and trimming.
- The final MP4 is placed in the folder where you ran the script, named
Class-<recording_id>.mp4. - The raw extracted files remain in a folder named after the recording ID (e.g.,
l2e72tear3ee/). You can delete this folder after a successful run.
The server may require authentication. Download the ZIP manually via your browser, extract it into a folder named exactly like the recording ID, and run the script again. It will skip the download.
Install FFmpeg and ensure its bin folder is in your system PATH. You can also place ffmpeg.exe and ffprobe.exe next to vcd.py.
This can happen with very long recordings. It will eventually finish; give it extra time. A future update will optimise the audio mixing.
Check that the source recording actually contains a screenshare. The script only processes screenshare*.flv files with a video track.
Pull requests and issues are welcome. Please keep in mind this is an early beta – report any bugs with the full console output.
MIT