Skip to main content

qwen3-omni-baseline-news-stt-off-30fps-vs-0.5fps

Baseline analysis of 100 clips from the news category using Qwen3-Omni without STT (Speech-to-Text) context. Measured using two scenarios: 30fps (original) vs. 0.5fps (low-frame-rate converted version) — comparing the impact of video frame rate on analysis performance.


1. Execution Environment

ItemValue
ModelQwen3-Omni-30B-A3B-Instruct
ServingvLLM (OpenAI-compatible endpoint, single GPU)
ClientFastAPI server (POST /analyze/by-clip-path )
Concurrency4 (server-side asyncio.Semaphore )
STT ContextNone — dialogue section of the prompt removed (for baseline measurement)
Measurement Date2026-05-22

2. Data

  • Category: news / Number of clips: 100 × 2 fps variants
  • Each clip 6 seconds → Total video duration 600 seconds (10 minutes)
  • Clip naming: 0001_0600-0606 0100_1194-1200 (absolute second encoding of the original video)

2.1 Clip Specifications (by variant)

Item30 fps (Original)0.5 fps (Low Frame Rate)
Resolution1280×7201280×720
Frame rate30 fps0.5 fps (1 frame per 2 seconds)
Frames per clip1803
Codech264h264
Duration6.037 seconds6.037 seconds
Size per clip1.2 MB492 KB
Bitrate1.6 Mbps0.67 Mbps

3. Processing Results

variantokfailfail rate
30fps9733.0%
0.5fps9911.0%

All failure cases resulted in an HTTP 500 Internal Server Error (temporary error on the vLLM side). This is usually resolved upon retry.

4. Time Statistics

4.1 30fps (Original)

Measurement ItemnTotal (s)Average (ms)p50 (ms)p95 (ms)min / max (ms)
Pipeline wall (entire batch)100191.131,911.3
Qwen Inference97690.207,115.57,171.07,985.45,268 / 9,058
Client elapsed (HTTPX)100761.737,617.37,188.58,811.25,279 / 24,139
Network + Server Overhead9750.09516.412.01,603.2-2,140 / 17,312

4.2 0.5 fps (Low Frame Rate)

Measurement ItemnTotal (s)Average (ms)p50 (ms)p95 (ms)min / max (ms)
Pipeline wall (entire batch)10078.10781.0
Qwen Inference99294.012,969.82,910.03,470.12,429 / 3,767
Client elapsed (HTTPX)100309.573,095.72,917.03,551.12,431 / 15,023
Network + Server Overhead9912.86129.82.0451.9-693 / 12,142

5. Token Usage

variantprompt totalprompt avg/clipcompletion totalcompletion avg/clip
30fps1,143,72711,79114,843153
0.5fps169,3891,71113,454136

Most prompt tokens consist of MP4 Base64 encoding (video frames + audio). At 0.5fps, the video frame rate is reduced to 1/60, resulting in a 6.89× compression of prompt tokens.

6. Processing Speed Compared to Real-Time

variantTotal VideoWall-timeReal-time Ratio
30fps600 sec191 sec3.14×
0.5fps600 sec78 sec7.69×

7. 30fps vs 0.5fps At-a-Glance Comparison

Measurement30fps0.5fpsDifference
Pipeline wall191.13s78.10s2.45× faster
Qwen inference avg7,115ms2,970ms2.40× faster
Qwen p957,985ms3,470ms2.30× faster
Prompt tokens avg11,7911,7116.89× reduction
Completion Tokens (avg)153136-11%
Compared to real-time3.14×7.69×2.45× improvement
ok/fail97/399/1Stability ↑

8. Qualitative Comparison of Analysis Quality

Analysis results for the same clip (0050 — industrial statistics graphic scene) at two different frame rates:

30fps :

This is a broadcast scene showing graphics displayed against an industrial site background, depicting raw materials such as steel and aluminum, as well as derivative products like automobile and aircraft parts. In the lower right corner, a sign language interpreter is performing sign language.

0.5fps :

Graphics visualizing raw materials such as steel and aluminum, as well as derivative products like automobile and aircraft parts, are displayed against an industrial site background. A man waving his hand is visible in the lower right corner.

→ The key graphics and subtitle content are accurately depicted in both fps. The difference lies in the dynamic element in the bottom right corner — 30fps accurately depicts "a sign language interpreter performing sign language," while 0.5fps shows "a man waving his hand," misinterpreting the meaning of the continuous motion.

8.1 Summary of Observations

Category30fps0.5fps
Graphics / Captions / Static Visual ElementsAccurateAccurate (3 frames are sufficient)
Character clothing / background detailsAccurateSome details missing
Scene transition recognitionAccurateIncreased frequency of omissions
Continuous motion (sign language, etc.)Accurate depictionSimplified or misinterpreted (e.g., sign language → hand gestures)
Hallucinations (generating non-existent elements)LowSlightly ↑
actions DiversityMore diverse on averageSignificantly lower

9. Conclusion

ConclusionDetails
Speed0.5 fps is 2.40× faster and reduces prompt tokens by 6.89× — Clear advantage in terms of cost and throughput
QualityEquivalent for static elements such as subtitles, logos, and character positioning. However, poor recognition of scene transitions and continuous motion, with some hallucinations
Recommended Use0.5fps is sufficient for subtitles, OCR, and static scenes (e.g., subtitle recognition, static thumbnail generation). 30fps is recommended for motion, scene transitions, and detailed cut analysis

10. Next Steps

  • Measure the remaining 6 categories under the same conditions (especially baseball and lol, which involve a lot of motion—the 0.5fps gap is expected to be even larger)
  • Retry failed cases + analyze causes
  • Re-measure the same 100 clips after adding STT context → Quantitatively compare quality improvements relative to the baseline
  • Perform parallel measurements on Gemini with the same input → Compare models

11. Reproduction Instructions

# Starting the FastAPI server
./script/start.sh

# 30 fps Measurement (Baseline)
PYTHONPATH=src uv run script/run_batch.py news news --no-script --model qwen_no_script

# Measuring 0.5 fps
PYTHONPATH=src uv run script/run_batch.py news news_0.5fps --no-script --model qwen_no_script_0.5fps

# Markdown for human readers
PYTHONPATH=src uv run script/render_summary.py qwen_no_script news news
PYTHONPATH=src uv run script/render_summary.py qwen_no_script_0.5fps news news_0.5fps

Outputs:

  • predictions/{model}/news/{source}/{clip_id}.json — Envelope per request
  • predictions/{model}/news/{source}/_meta.json — Raw time and token statistics
  • predictions/{model}/news/{source}/summary.md — Summary for human review