Video Silence Remover Task
Objective
You are provided with a teaching video around 10min. In this video, there are durations with silence and non-teaching content. For example:
- Opening
- Pause in the video
Input
- Video file: data/input_video.mp4
Expected Output
You need to give the following files and put them under the current workspace
- compressed_video.mp4: The result video with silence clips removed.
- compression_report.json: This is the annotation json file. Please follow the format:
{
"original_duration_seconds": <number>,
"compressed_duration_seconds": <number>,
"removed_duration_seconds": <number>,
"compression_percentage": <number>,
"segments_removed": [
{
"start": <number>,
"end": <number>,
"duration": <number>
}
]
}
We need to make sure the following items are satisfied:
- The unnecessary opening needs to be removed.
- The long pauses (usually > 2 sec) need to be removed.
- Keep the teaching content as much as possible.
Evaluation Criteria
The output will be evaluated by:
- if the output files are complete and valid
- if the compression rate is in the right range
- if the removed/compressed duration is close to expected
- if the JSON report has correct structure and valid segment values
- if the math is consistent (original ≈ compressed + removed)
Notes
- The input video usually contains an opening followed by content.
- The opening usually is of static frames with noise.
- You could analyze the pauses by audio.
- You can use any tools such as ffmpeg or Python.
- The processing time shouldn't be too long (>10 min)