3FR to TS Converter

Convert 3FR files to TS format online. Free, fast, no watermarks.

Initializing... drag & drop files here

Supports: 3FR

OptionsAdvanced Options - Our defaults are optimized for the best results. We recommend you keeping the defaults unless you have a specific need.
Show All Options
Merge strategy
Select Merge images to combine all uploaded files into a single video. Use Video per image to create a separate video for each individual file.
Image Duration
Duration
How long each still image is held on screen. This applies to static images — including a static WebP, AVIF or HEIC. It is ignored for animated sources, which keep their own frame timing: GIF, APNG, and an animated WebP, AVIF or HEIC.
Background Color
Background Color
File Compression
Preset
Video resolution

3FR to TS: A Hasselblad Frame Inside a Broadcast Packet Stream

.3fr is Hasselblad's raw capture file — "3F RAW", the undeveloped sensor data an H-system body, an X-series mirrorless or a CFV digital back writes to card. .ts is an MPEG-2 Transport Stream, the flat run of fixed 188-byte packets defined in ISO/IEC 13818-1 and published jointly as ITU-T H.222.0, which carries digital broadcast, IPTV and older HLS segments.

Nobody converts a medium-format photograph into a transport stream by accident. The reason is almost always a playout chain: a slate, a test card, an ident or a hold frame that a DVB or ATSC system, an IPTV encoder or a segmenter will only accept as a .ts. This page renders the raw, holds it for a duration you choose and packetizes it. The one thing worth reading before you press Convert is what happens to the frame size, because a Hasselblad sensor is far larger than anything a transport-stream decoder expects.

3FR at a Glance

Figures below are from Hasselblad's own published datasheet for the 907X Anniversary Edition, which pairs the 907X body with a 50-megapixel CFV back.

Property Value
Full name Hasselblad 3F RAW
Written by Hasselblad H-system bodies, X-series mirrorless and CFV digital backs
Datasheet "File Format" line "Hasselblad 3FR RAW, Full size JPEG"
Sensor on the 50 MP back CMOS, 8272 x 6200 pixels, 5.3 x 5.3 µm photosites
Colour definition 16-bit, dynamic range up to 14 stops
Average file size 106 MB per frame; a 64 GB card holds roughly 600 of them
Colour management Hasselblad Natural Colour Solution (HNCS), applied by Hasselblad's Phocus software
Related format .fff, the container Phocus writes during tethered capture
What it is not A viewable image. It is mosaic sensor data that has to be developed before anything can encode it

How to Convert 3FR to TS

  1. Upload Your 3FR Files: Drag them onto the page or click "+ Add Files". Several frames can be queued together.
  2. Set Merge Strategy and Image Duration: Merge strategy opens on "Merge images", which joins every upload into one stream back to back; "Video per image" writes a separate .ts per frame instead. Image Duration runs from a single frame at 60 fps up to 10 seconds per frame, with 5 seconds pre-selected.
  3. Set Background Color, Video Codec and Video resolution: Background Color fills any padding around the picture and opens on White, with Black and 23 other colours in the list. Video Codec opens on H.264; H.265, MPEG-1, MPEG-2, MPEG-4, DivX and Xvid are also offered. Under Video resolution, read the next section before leaving it on "Keep original".
  4. Convert and Download: Click Convert. Files are uploaded over an encrypted connection, rendered and packetized on our servers, and deleted automatically after a few hours — no sign-up, no watermark, never shared or made public.

The Frame Size Is the Thing That Bites

Before any encoding happens, the raw is developed into ordinary RGB pixels and normalised to a clean PNG, and that normalisation clamps the long edge to 4096 pixels, rounding both dimensions down to even numbers. Run the 50 MP sensor above through it and 8272 x 6200 arrives at the encoder as 4096 x 3070. On "Keep original", that is the frame size the transport stream gets.

It is legal H.264 and it is also far outside what transport-stream hardware is built for. We encoded exactly that frame and read the result back: x264 tagged it High profile, Level 6.0. Re-encoding the same picture at 1920 x 1080 produced High profile, Level 4.0, which is the neighbourhood set-top boxes, DVB receivers and IPTV decoders actually implement.

Video resolution setting What the encoder is handed H.264 level written Verdict for a playout chain
Keep original (default) 4096 x 3070 from a 50 MP frame 6.0 Rejected by essentially all transport-stream hardware
Fixed Resolutions → 1920 x 1080 1920 x 1080 exactly 4.0 The safe choice, and what the list opens on
Fixed Resolutions → 1280 x 720 1280 x 720 exactly 3.1 or lower Safe, smaller, fine for SD/HD-lite chains
Preset Resolutions → "1080p" Height 1080, width follows the source aspect 4.0 Legal, but a 4:3 Hasselblad frame becomes 1440 x 1080, not 1920 x 1080

There is a second, blunter reason to set a resolution explicitly. The clamp works out a target frame size from your sensor dimensions and then asks the renderer to fit the picture inside it, and on some aspect ratios the result lands on an odd number of pixels across. H.264 in the 4:2:0 pixel format every player expects cannot encode an odd width, so on those source shapes the job fails outright rather than producing a wrong-looking file. We modelled it across Hasselblad sensor geometries: the 8272 x 6200 shape lands cleanly on 4096 x 3070, while 8956 x 6708 lands on 4093 pixels across and 11600 x 8700 lands on 4093 as well. Choosing a Fixed Resolution sidesteps the whole calculation, which is one more reason not to leave this control alone.

The two preset lists are not interchangeable, and this is where most surprises come from. Fixed Resolutions gives exact width-by-height pairs and opens on 1920 x 1080 (Full HD). Preset Resolutions sets the height only and lets the width follow the source. A Hasselblad frame is close to 4:3, so it will never fill a 16:9 raster on its own — the sides are padded with the Background Color, which starts on White and looks wrong on most playout chains. Change it to Black before converting rather than after.

What the Output Actually Is

The clip is a still held on screen, not a moving picture. The encode runs at one frame per second with B-frames disabled, so a 5-second duration is five identical frames. There is no pan, no zoom and no transition. It is also silent, and there is no Audio Codec control on this page at all, because a photograph has no sound to carry.

The packet framing is the plain broadcast layout. We checked the bytes of a rendered stream: sync byte 0x47 at offset 0, 0x47 again at every 188-byte boundary, and the file length an exact multiple of 188. That is the standard transport stream — not the 192-byte BDAV framing that disc-oriented .m2ts files use.

Also worth being clear about: developing the raw is one-way. A 16-bit mosaic with 14 stops of latitude becomes an 8-bit frame with the camera's recorded white balance baked in, and Hasselblad's HNCS colour rendering is something Phocus applies, not something a third-party renderer reproduces. If the look matters, develop and export in Phocus first and convert that file.

Frequently Asked Questions

The conversion failed and produced nothing — what happened?

Most likely the resolution. On "Keep original" the frame size is derived from your sensor dimensions, and on some aspect ratios that calculation lands on an odd number of pixels across — we reproduced 4093-pixel widths from both the 8956 x 6708 and 11600 x 8700 sensor shapes. H.264 in the standard 4:2:0 pixel format cannot encode an odd width, so the encode refuses to start and no file is written. Set Video resolution to Fixed Resolutions and take an explicit raster; that removes the calculation entirely and is the right setting for a transport stream in any case.

Why is my transport stream 4096 pixels wide when the sensor is 8272?

Because every image is normalised and clamped to 4096 pixels on its long edge before encoding, with both dimensions rounded down to even numbers. An 8272 x 6200 frame therefore reaches the encoder at 4096 x 3070, and "Keep original" faithfully encodes that. It is not a bug and it is not your file being cropped — the whole picture is there, just scaled. If you need a specific raster, set Video resolution to Fixed Resolutions and take one from the list.

Will a broadcast or IPTV system accept the default output?

Almost certainly not at the default resolution. We measured a 4096 x 3070 encode coming out as H.264 High@L6.0; hardware transport-stream decoders typically stop at Level 4.0 or 4.1, and even software chains often reject anything above 5.1. Switch to Fixed Resolutions and pick 1920 x 1080, which we measured as High@L4.0. If the chain is standard definition, 854 x 480 or 720 x 576 is safer still.

Does the clip have any motion or audio?

Neither. The rendered frame is held for whatever Image Duration you chose, encoded at one frame per second with B-frames turned off, so it plays as a freeze. There is no audio track and no Audio Codec group on the page, because a still photograph has nothing to put in one. If a slate needs a bed of music or a voice-over, lay it under the clip in an editor after conversion.

Why are there white bars around my photograph?

Because a Hasselblad frame is roughly 4:3 and a 16:9 output raster is wider than it is tall, so the difference has to be filled. Rather than cropping the picture or stretching it, the converter pads with the Background Color, which is pre-selected as White. Broadcast slates are routinely pillarboxed, so the bars themselves are normal — it is the colour that looks wrong. Set it to Black, or to a brand colour, before you convert.

Do I lose the raw editing latitude?

Completely, and it is not recoverable from the .ts. Hasselblad's datasheet quotes 16-bit colour definition and up to 14 stops of dynamic range for the sensor; encoding into a transport stream requires an ordinary 8-bit RGB frame, so highlight recovery, exposure push and white-balance shifts all have to happen before the conversion, not after. Keep the .3fr as your master and treat the transport stream as a delivery file.

Can I put several frames into one transport stream?

Yes. Queue the photographs and leave Merge strategy on "Merge images" — each rendered frame is packetized in upload order and held for the Image Duration you set, so the stream's total length is that duration multiplied by the number of files. "Video per image" writes one .ts per photograph instead, which is usually more useful in an edit because each still can then be placed and trimmed independently. Neither mode adds transitions or motion.

Which video codec should I leave selected?

H.264, which is what the dropdown opens on. A transport stream is codec-agnostic and can legitimately carry MPEG-2, H.264 or H.265, but H.264 is what most playout equipment and .ts players handle without argument. Switch to MPEG-2 if you are feeding a classic DVB or ATSC chain that specifically expects it. The MPEG-4, DivX and Xvid entries will encode, but nothing in a broadcast workflow looks for those inside a transport stream.

Why would I not just convert to JPG or MP4?

For most people, you should. If the goal is a picture you can look at, send or print, 3FR to JPG gives you a universal image and keeps the .3fr as the editable master. If the goal is a clip for a timeline, a web upload or a phone, 3FR to MP4 plays natively almost everywhere while a bare transport stream frequently does not. Reach for .ts only when a specific broadcast, IPTV or set-top tool refuses everything else.

My camera writes .fff rather than .3fr — can I use this page?

Not directly; the uploader matches on the .3fr extension. FFF is the container Phocus produces during tethered capture, wrapping the same sensor data together with session metadata, so it is a different file even though the picture inside is the same. Export or convert to .3fr in Phocus, or develop the FFF to a TIFF or JPEG in Phocus and convert that instead — which is the better route anyway if you care about how the colour is rendered.

How are my files handled during conversion?

The .3fr is uploaded over an encrypted connection, developed and encoded on our servers, and both it and the transport stream are deleted automatically after a few hours. Nothing is shared or made public and no account is required. Hasselblad raws average around 106 MB each, so the upload over your own connection is the slow part of this job by a wide margin — convert in small batches rather than queueing an entire shoot.

Rate 3FR to TS Converter Tool

Rating: 4.8 / 5 - 55 reviews