跳转到主要内容
Formats & playback 6 min read

Video Will Not Play: A Troubleshooting Flow for Containers, Codecs and Decoders

"Will not play" has exactly three roots: the player rejects the container (TS, FLV, MKV variants), it cannot decode the codec (HEVC, VP9, AC3 audio), or the file is truncated/corrupt. Each has a distinct fingerprint once you probe the streams.

The probe-first flow

  • Inspect the streams: video codec, audio codec, container. This single step splits all failures into their bins.
  • If audio plays but video is black/green → video codec unsupported (typically HEVC).
  • If video plays but audio is silent → audio codec unsupported (typically AC3/DTS).
  • If nothing opens at all → container rejected or file truncated; check the file size matches the source.
  • If seeking is broken but playback starts → missing index; a remux writes one.

Fixes mapped to causes

Container rejection → remux to MP4. Codec rejection → transcode video to H.264 / audio to AAC. Corruption → salvage what decodes; the tail is usually lost. No probe tool needed on your machine — all of this runs in the browser.

Frequently asked questions