QA a clip for a silent gap before posting
0:20CC-BY-SA-3.0 · Chris McKenna
Proof frames
Tool calls
review_video
Arguments
{
"source": "$CLIP"
}
Result
{
"ok": true,
"data": {
"metadata": {
"source_path": "~/work/cards/review-monitoring/clip.mp4",
"duration_sec": 20.02,
"width": 640,
"height": 480,
"fps": 29.97002997002997,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"size_bytes": 2537525,
"has_audio": true,
"audio_codec": "aac",
"video_codec": "h264",
"fingerprint": "e25b5ec45d15c9a843da",
"has_video": true
},
"contact_sheet": {
"file_path": "<cache>/e25b5ec45d15c9a843da/contact_sheets/sheet_24samples_4cols_624461.jpg",
"sample_count": 24,
"rows": 6,
"cols": 4,
"start_sec": 0.417,
"end_sec": 19.603,
"timestamps": [
0.417,
1.251,
2.085,
2.92,
3.754,
4.588,
5.422,
6.256,
7.09,
7.925,
8.759,
9.593,
10.427,
11.261,
12.095,
12.93,
13.764,
14.598,
15.432,
16.266,
17.1,
17.935,
18.769,
19.603
],
"frame_width": 768,
"frame_height": 576,
"tool_file": {
"_tag": "ToolFile",
"name": "sheet_24samples_4cols_624461.jpg",
"mimeType": "image/jpeg",
"encoding": "base64",
"data": "<3797116 base64 chars dropped>",
"byteLength": 2847837
}
},
"cuts": [
{
"timestamp_sec": 5.071733,
"score": 1,
"kind": "cut"
},
{
"timestamp_sec": 5.8058,
"score": 1,
"kind": "cut"
}
],
"cuts_total": 2,
"loudness": {
"average_rms_dbfs": -13.459,
"peak_dbfs": -0.161,
"peak_sec": 16.044,
"window_sec": 0.25,
"silence_threshold_dbfs": -60,
"silence_gaps": [
{
"start_sec": 13.83,
"end_sec": 15.1,
"duration_sec": 1.27,
"threshold_dbfs": -60
}
],
"silence_gaps_total": 1,
"outliers_total": 19,
"fault_outliers_total": 0,
"outliers": [
{
"start_sec": 20,
"end_sec": 20.010667,
"band": "low_mid",
"direction": "cut",
"shape": "transient",
"delta_db": -34.973,
"fault_level": false
},
{
"start_sec": 20,
"end_sec": 20.010667,
"band": "mid",
"direction": "cut",
"shape": "transient",
"delta_db": -28.541,
"fault_level": false
},
{
"start_sec": 20,
"end_sec": 20.010667,
"band": "sub",
"direction": "cut",
"shape": "transient",
"delta_db": -27.459,
"fault_level": false
},
{
"start_sec": 13.75,
"end_sec": 14,
"band": "high",
"direction": "cut",
"shape": "transient",
"delta_db": -17.733,
"fault_level": false
},
{
"start_sec": 13.75,
"end_sec": 14,
"band": "air",
"direction": "cut",
"shape": "transient",
"delta_db": -16.181,
"fault_level": false
},
{
"start_sec": 20,
"end_sec": 20.010667,
"band": "high",
"direction": "cut",
"shape": "transient",
"delta_db": -13.67,
"fault_level": false
},
{
"start_sec": 13.75,
"end_sec": 14,
"band": "low_mid",
"direction": "cut",
"shape": "transient",
"delta_db": -12.353,
"fault_level": false
},
{
"start_sec": 13.75,
"end_sec": 14,
"band": "mid",
"direction": "cut",
"shape": "transient",
"delta_db": -12.334,
"fault_level": false
},
{
"start_sec": 7,
"end_sec": 8,
"band": "sub",
"direction": "boost",
"shape": "transient",
"delta_db": 9.457,
"fault_level": false
},
{
"start_sec": 20,
"end_sec": 20.010667,
"band": "air",
"direction": "cut",
"shape": "transient",
"delta_db": -8.879,
"fault_level": false
}
]
}
}
}
Question and answer
- Question
- QA this clip before I post it.
- Answer
- review_video's longest silent gap in the sound runs from 13.83 to 15.10 seconds, lasting 1.27 seconds.
Check passedIoU 0.97, minimum 0.7
How it was checked
- Truth from
- constructed
- Fixed at
Planted by this recipe: ffmpeg cut 20 s of the source from 7.00 s, and muted its sound (volume 0, digital silence) from 13.80 to 15.09 s of the clip. Only that silent interval is in the truth. The window was screened first: its sound has no run of 10 ms chunks under -60 dBFS (3 in a row) within 20 s, plus 0.1 s either side, so it is the only silent gap review_video can report. IoU tolerance 0.7.
A script muted 1.3 seconds of this clip's sound at a time it chose and put a black box over the picture for 0.7 seconds; review_video has no field that lists black frames, so the answer covers the silent gap only, and the clip has no other quiet stretch.
Try it yourself
Use agentic-video to QA my video before I post it. Call review_video on my file and tell me about any silent gaps in its sound, with where each one starts and ends. Use my own file.
- Get the .mcpb file and open it in Claude Desktop.
- Or:
pip install agentic-video
Clip and licence
- Licence
- CC-BY-SA-3.0
- Author
- Chris McKenna
- Source
- commons.wikimedia.org
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.