Convert DV to Y4M — Free Online Tool
Convert DV camcorder footage to Y4M (YUV4MPEG2), an uncompressed raw video format ideal for lossless intermediate processing. This tool decodes the DV intra-frame DCT video stream and writes uncompressed YUV pixel data, making it perfect for feeding into video analysis tools, encoders, or processing pipelines that require pristine, uncompressed frames.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your DV file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
DV files store video using the dvvideo codec — a lossy intra-frame DCT compression scheme similar in spirit to MJPEG, where each frame is independently compressed. During this conversion, FFmpeg decodes every DV frame from its compressed DCT representation back into raw YUV pixel data, then writes those uncompressed frames into the Y4M container. Y4M (YUV4MPEG2) is essentially a thin wrapper around raw planar YUV data, adding only minimal headers to describe the frame dimensions, frame rate, interlacing, and chroma subsampling. No re-compression occurs on the output side — the decoded pixels are written directly. Audio is dropped entirely, as Y4M is a video-only format. Because DV uses 4:1:1 chroma subsampling (NTSC) or 4:2:0 (PAL), the resulting Y4M output will reflect whichever subsampling the source DV used. File sizes will grow dramatically compared to the compressed DV source.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool, which handles all decoding, stream mapping, and encoding operations in this conversion pipeline. |
-i input.dv
|
Specifies the input DV file. FFmpeg identifies it as a DV container and selects the dvvideo decoder to decompress the intra-frame DCT video data, along with pcm_s16le for the audio (which will be dropped since Y4M has no audio stream). |
-c:v rawvideo
|
Instructs FFmpeg to encode the output video stream using the rawvideo codec — meaning the decoded YUV pixel data from the DV frames is written directly to the Y4M file with no re-compression applied. |
output.y4m
|
The output filename with the .y4m extension. FFmpeg detects the YUV4MPEG2 format from this extension and writes the appropriate Y4M file headers (resolution, frame rate, chroma subsampling, interlacing) followed by the raw uncompressed video frames. |
Common Use Cases
- Feeding digitized DV tape footage into lossless video processing tools like AviSynth, VapourSynth, or the x264/x265 encoder via pipe, which natively accept Y4M as input.
- Performing frame-accurate quality analysis or PSNR/SSIM comparisons on DV footage using tools like ffmetrics or VQM that require uncompressed YUV input.
- Preprocessing DV footage for computer vision or machine learning pipelines where raw pixel data in a predictable planar YUV layout is required.
- Archiving a fully decoded, uncompressed version of irreplaceable DV tape transfers before re-encoding to a modern codec like H.265, ensuring no further generation loss from re-decoding.
- Debugging or inspecting individual YUV frames from DV footage using frame-level tools that cannot handle compressed video containers.
- Using DV footage as a source in FFmpeg piping workflows, where the Y4M stream is piped directly into another encoder process without writing an intermediate compressed file.
Frequently Asked Questions
No additional quality loss is introduced during this conversion. The DV source was already encoded with lossy DCT compression when it was originally recorded, and that generation of quality loss is baked into the source. This conversion simply decodes those DV frames and stores the resulting pixel data uncompressed in Y4M — no second round of lossy compression occurs. The Y4M output is a lossless representation of exactly what the DV decoder produces.
DV achieves roughly 5:1 compression using its intra-frame DCT codec, storing about 25 Mbps for standard-definition footage. Y4M stores raw, uncompressed planar YUV data with no compression at all. A one-minute DV clip at around 215 MB will expand to several gigabytes in Y4M, depending on resolution, frame rate, and chroma subsampling. This is expected — Y4M's purpose is lossless intermediate storage, not efficient archiving.
Y4M is a video-only format and has no provision for audio streams. The DV format stores audio as PCM (pcm_s16le), but this audio is not carried into the Y4M output and will be silently discarded during the conversion. If you need to preserve the audio, extract it separately before converting — for example, by running an additional FFmpeg command with the -vn flag to export just the audio track.
DV uses 4:1:1 chroma subsampling for NTSC footage and 4:2:0 for PAL footage. FFmpeg will decode the DV stream and output the Y4M file using the native subsampling of the source. Most downstream tools that accept Y4M handle both, but if a specific subsampling is required you can add a -pix_fmt flag to the FFmpeg command to force a conversion, such as -pix_fmt yuv420p for 4:2:0.
You can batch-process DV files in a shell loop. On Linux or macOS: for f in *.dv; do ffmpeg -i "$f" -c:v rawvideo "${f%.dv}.y4m"; done. On Windows PowerShell: Get-ChildItem *.dv | ForEach-Object { ffmpeg -i $_.FullName -c:v rawvideo ($_.BaseName + '.y4m') }. Be aware that Y4M files are very large, so ensure you have sufficient disk space before batch processing.
Yes — this is one of the primary use cases for Y4M. You can replace the output filename with a pipe and direct it into another process, for example: ffmpeg -i input.dv -c:v rawvideo -f yuv4mpegpipe - | x265 --y4m - --output output.hevc. The -f yuv4mpegpipe flag tells FFmpeg to use the Y4M muxer on stdout, and the receiving encoder reads the raw frames directly without a temporary file on disk.
Technical Notes
DV footage is inherently interlaced — both NTSC DV (29.97 fps, 720x480) and PAL DV (25 fps, 720x576) use interlaced scanning, and this interlacing information is encoded in the Y4M header as either top-field-first or bottom-field-first. Tools consuming the Y4M output should respect this header to avoid interlacing artifacts. The -c:v rawvideo flag in the command instructs FFmpeg to use the rawvideo encoder on the output side, which performs no compression — it simply writes the decoded pixel arrays sequentially. Because DV stores each frame as a self-contained compressed unit (intra-frame only, no inter-frame prediction), decoding is robust and frame-accurate even on damaged tapes, making this a reliable conversion for archival workflows. One important limitation: Y4M has no support for chapters, subtitles, or metadata beyond basic video geometry and timing — none of the DV stream's camcorder metadata (timestamps, scene markers) is preserved in the output.