{"id":6738,"date":"2026-07-13T11:11:49","date_gmt":"2026-07-13T11:11:49","guid":{"rendered":"https:\/\/www.5centscdn.net\/blog\/?p=6738"},"modified":"2026-07-13T11:11:53","modified_gmt":"2026-07-13T11:11:53","slug":"mpeg-ts-vs-fmp4","status":"publish","type":"post","link":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/","title":{"rendered":"MPEG-TS vs fMP4: Which HLS Segment Format to Use"},"content":{"rendered":"<div style=\"margin-top: 0px; margin-bottom: 0px;\" class=\"sharethis-inline-share-buttons\" ><\/div>\n<p class=\"wp-block-paragraph\">MPEG-TS vs fMP4 is one of the most important decisions when packaging HLS. At some point, you hit a fork in the road: should your segments be MPEG-TS (.ts) files or fragmented MP4 (.m4s) files? For years there was no choice\u2014HLS meant MPEG-TS, full stop. Today, fMP4 is not only supported but increasingly the default, and the format you pick affects storage, CDN efficiency, device compatibility, and whether you can even use certain codecs and DRM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide is written for the engineer making that decision. It explains what each format is, how they differ in concrete terms, why the industry has been migrating from MPEG-TS to fMP4, and when the older format still earns its place. It is not about converting a .ts recording from your dashcam into a playable .mp4 \u2014 it is about which segment format belongs in your streaming pipeline.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Is MPEG-TS?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/MPEG_transport_stream\">MPEG-TS (MPEG Transport Stream)<\/a> is a container format defined back in MPEG-2 Part 1 (ISO\/IEC 13818-1) for broadcasting \u2014 satellite, cable, and terrestrial TV. Its defining design choice is that it chops everything into small, fixed-size packets of just 188 bytes, each carrying its own timing and synchronization information. That structure was built for one purpose: surviving a lossy transmission channel. If some packets are corrupted or dropped over the air, the rest of the stream keeps playing.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-8-1024x576.jpg\" alt=\"MPEG-TS stream split into fixed 188-byte packets with headers for error resilience\" class=\"wp-image-6741\" srcset=\"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-8-1024x576.jpg 1024w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-8-300x169.jpg 300w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-8-768x432.jpg 768w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-8-1536x864.jpg 1536w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-8-2048x1152.jpg 2048w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-8-800x450.jpg 800w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-8-1200x675.jpg 1200w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-8-600x338.jpg 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>MPEG-TS packet structure<\/strong><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When Apple launched HLS in 2009, it chose MPEG-TS as the segment format, largely because early iOS hardware already decoded transport streams natively and the format&#8217;s resilience suited unreliable networks. So a classic HLS stream is a playlist (.m3u8) pointing at a series of .ts segment files, each a self-contained few seconds of transport stream.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Under the hood, MPEG-TS is more elaborate than it looks. Media is first wrapped into packetized elementary streams (one for video, one for audio, and so on), then chopped into those 188-byte transport packets and interleaved together. Small tables called PSI (Program Specific Information) \u2014 including the Program Association Table and Program Map Table \u2014 tell a decoder which packets belong to which program and stream. This machinery is what lets a single transport stream carry multiple TV channels at once, which was exactly the point in broadcast. For a single HLS segment it is mostly unused capability, carried along as extra structure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The strength \u2014 tiny self-describing packets \u2014 is also the weakness. All those 188-byte packet headers add up to real overhead, and because the rest of the streaming world (browsers, DASH, modern devices) standardized on MP4-based formats, MPEG-TS increasingly became the odd format out that only HLS still required. It is a broadcast-era container doing a job the broadcast use case never fully needed on the open internet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Is fMP4?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Fragmented MP4 (fMP4) is the MP4 container \u2014 built on the <a href=\"https:\/\/en.wikipedia.org\/wiki\/ISO_base_media_file_format\">ISO Base Media File Format (ISOBMFF)<\/a> \u2014 written as a series of small, independently decodable fragments instead of one monolithic file. The segment files carry a .m4s extension. A plain MP4 keeps all its indexing metadata in one place and generally needs the whole file before smooth playback; fMP4 breaks the media into fragments that can be streamed and played as they arrive, which is exactly what adaptive streaming needs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-1-6-1024x576.jpg\" alt=\"fMP4 structure showing one init segment followed by multiple .m4s media segments referenced by EXT-X-MAP\" class=\"wp-image-6742\" srcset=\"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-1-6-1024x576.jpg 1024w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-1-6-300x169.jpg 300w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-1-6-768x432.jpg 768w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-1-6-1536x864.jpg 1536w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-1-6-2048x1152.jpg 2048w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-1-6-800x450.jpg 800w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-1-6-1200x675.jpg 1200w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-1-6-600x338.jpg 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>fMP4 init + media segments<\/strong><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The reason fragmentation matters is worth making explicit. A regular MP4 is like a book with its full index at the very back \u2014 you need the whole thing before you can reliably jump around. Fragmented MP4 is like a book split into self-contained chapters, each with its own mini table of contents, so a reader can pick up any chapter and start immediately. For streaming, that means a player can fetch segment 47 without having downloaded 1 through 46, switch bitrates cleanly at fragment boundaries, and begin playback almost immediately \u2014 the behaviors adaptive bitrate streaming depends on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apple added fMP4 support to HLS at WWDC 2016, and it was a deliberate turning point: it let HLS and MPEG-DASH share the same underlying segment files, since DASH already used fMP4. One important structural difference from MPEG-TS is the initialization segment. With fMP4, a small init segment carries the setup information a player needs to decode the media segments, and the playlist references it with an #EXT-X-MAP tag:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#EXTM3U<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#EXT-X-VERSION:7<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#EXT-X-MAP:URI=&#8221;init.mp4&#8243;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#EXTINF:6,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">segment1.m4s<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#EXTINF:6,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">segment2.m4s<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#EXT-X-ENDLIST<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The player loads that init segment once, then all the .m4s media segments that follow. (With MPEG-TS, each .ts segment typically carries its own setup information inline, so no separate init segment is needed \u2014 part of why .ts is self-contained but heavier.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One point of frequent confusion worth clearing up: fMP4 is not a different format from MP4 \u2014 it <em>is<\/em> MP4, just structured as fragments. And the standardized, portable profile of fMP4 that both HLS and DASH agree on is called CMAF, which is why you will often see \u201cfMP4\u201d and \u201cCMAF\u201d used almost interchangeably in a streaming context. If you want the deeper story of how one fMP4 set serves both protocols, see our guide to <a href=\"https:\/\/www.5centscdn.net\/blog\/what-is-cmaf\/\">CMAF<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>MPEG-TS vs fMP4: The Key Differences<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The two formats can carry the same video and audio, but they package it very differently. Here is what actually matters when you choose.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th><strong>MPEG-TS (.ts)<\/strong><\/th><th><strong>fMP4 (.m4s)<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Origin<\/td><td>MPEG-2 broadcast (1990s)<\/td><td>ISOBMFF \/ MP4 family<\/td><\/tr><tr><td>Packet structure<\/td><td>Fixed 188-byte packets<\/td><td>Fragments (moof\/mdat)<\/td><\/tr><tr><td>Overhead<\/td><td>Higher (packet headers)<\/td><td>Lower<\/td><\/tr><tr><td>Init segment<\/td><td>None (self-contained)<\/td><td>Yes (#EXT-X-MAP)<\/td><\/tr><tr><td>Shared with DASH<\/td><td>No<\/td><td>Yes (same segments)<\/td><\/tr><tr><td>HEVC \/ H.265 in HLS<\/td><td>Not supported<\/td><td>Required<\/td><\/tr><tr><td>Legacy device support<\/td><td>Broadest (older iOS\/players)<\/td><td>Modern devices (HLS v7+)<\/td><\/tr><tr><td>CDN cache efficiency<\/td><td>Separate from DASH copy<\/td><td>One object serves both<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Overhead and Efficiency<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">MPEG-TS wraps media in a stream of 188-byte packets, each with its own header. That fixed packetization is what makes it resilient, but the headers are pure overhead \u2014 at the same quality, .ts segments run slightly larger than the equivalent .m4s. Think of MPEG-TS like shipping a product in dozens of small identical boxes each with its own label and padding: robust, but a lot of packaging. fMP4 is more like shipping the same goods in fewer, right-sized cartons \u2014 less material spent on the wrapping.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On any single segment the difference is modest \u2014 a few percent. But streaming multiplies everything by scale: every rendition, every segment, every viewer, every second watched. A few percent of overhead removed from a large VOD library or a high-concurrency live event turns into a meaningful reduction in storage and egress. It is the same logic that makes codec efficiency matter \u2014 small per-unit savings compound into real money once they are paid across millions of delivered segments. fMP4&#8217;s lower overhead is not dramatic per file, but it is free efficiency you keep collecting forever once you switch.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Codec and DRM Requirements<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This one is often decisive: HLS only supports HEVC\/H.265 when you use fMP4 \u2014 the older MPEG-TS path cannot carry it. The same applies to modern codecs and to the <a href=\"https:\/\/www.5centscdn.net\/blog\/what-is-drm-digital-rights-management\/\">Common Encryption used by DRM<\/a>, which is built around the fMP4\/CMAF structure. If your roadmap includes HEVC, AV1, or multi-DRM protection, fMP4 is not optional \u2014 it is a prerequisite.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This single fact resolves the debate for a lot of teams before any efficiency argument is even made. Delivering 4K or HDR economically usually means HEVC or AV1; protecting premium content usually means Widevine, PlayReady, and FairPlay via Common Encryption. Both roads lead exclusively through fMP4 in HLS. So if your content strategy points at higher-efficiency codecs or studio-grade protection \u2014 and most serious streaming roadmaps do \u2014 the segment-format question is effectively already answered, and MPEG-TS simply cannot come along.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>CDN Efficiency<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Because fMP4 segments can be shared between HLS and DASH, you store and cache one set of files instead of a separate .ts set for HLS and an fMP4 set for DASH. That directly improves your <a href=\"https:\/\/www.5centscdn.net\/blog\/how-to-improve-cache-hit-ratio\/\">CDN cache hit ratio<\/a> \u2014 one cached object serves both protocols instead of two objects competing for edge space. For anyone delivering to both ecosystems, this is a concrete storage and delivery saving, not just a tidiness win.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why Streaming Is Moving to fMP4<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Put the differences together and the industry direction is clear. Adopting fMP4 lets a platform serve HLS and DASH from a single set of segments, cut storage and packaging work, improve cache efficiency, and unlock HEVC, next-generation codecs, and modern DRM \u2014 all at once. For a workflow being built or modernized today, fMP4 is the sensible default, and MPEG-TS is the compatibility fallback rather than the starting point.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-2-6-1024x576.jpg\" alt=\"Streaming shifting from MPEG-TS to fMP4 to share segments across HLS and DASH\" class=\"wp-image-6743\" srcset=\"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-2-6-1024x576.jpg 1024w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-2-6-300x169.jpg 300w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-2-6-768x432.jpg 768w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-2-6-1536x864.jpg 1536w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-2-6-2048x1152.jpg 2048w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-2-6-800x450.jpg 800w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-2-6-1200x675.jpg 1200w, https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/explanation_template-2-6-600x338.jpg 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>The migration to fMP4<\/strong><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is a genuine reversal from a decade ago, when \u201cHLS\u201d simply meant \u201c.ts.\u201d The shift was gradual because it depended on device support catching up, but by now modern players and platforms handle fMP4 HLS routinely, and the remaining reason to reach for MPEG-TS is specifically to support old hardware.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is worth appreciating why the change took a full decade rather than happening overnight. A segment format is only useful if the viewer&#8217;s device can decode it, so even after Apple enabled fMP4 in 2016, operators had to keep serving .ts for years to avoid breaking playback on the installed base of older iPhones, smart TVs, and set-top boxes. As those devices aged out and fMP4-capable players became the overwhelming majority, the cost-benefit tipped: the efficiency, codec, and DRM advantages of fMP4 now clearly outweigh the shrinking population of TS-only devices. That is the quiet story behind most format migrations in streaming \u2014 the technology is ready long before the device fleet is, and the default flips only once the audience has caught up.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>When MPEG-TS Still Makes Sense<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MPEG-TS is not dead, and treating it as legacy-only would be a mistake in a few real situations:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Old device fleets: <\/strong>very old iOS versions and legacy set-top boxes may only reliably play .ts HLS. If your audience includes them, a TS rendition (or a TS fallback) still matters.<\/li>\n\n\n\n<li><strong>Broadcast and contribution: <\/strong>MPEG-TS remains standard in broadcast facilities, IPTV, and many contribution\/ingest workflows, thanks to its error resilience and decades of entrenched equipment.<\/li>\n\n\n\n<li><strong>Existing pipelines: <\/strong>a mature, working .ts pipeline serving an audience on capable devices has no urgent reason to migrate until a codec, DRM, or DASH requirement forces the move.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In practice, many operators run fMP4 as the primary format and keep a limited MPEG-TS fallback for the long tail of old devices \u2014 capturing the efficiency of fMP4 while not stranding legacy viewers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to Choose<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Building or modernizing a pipeline today? <\/strong>Default to fMP4 \u2014 it is more efficient, shares segments with DASH, and unlocks HEVC\/AV1 and DRM.<\/li>\n\n\n\n<li><strong>Need HEVC\/H.265, AV1, or Common Encryption DRM in HLS? <\/strong>fMP4 is required; MPEG-TS cannot carry them.<\/li>\n\n\n\n<li><strong>Delivering to both HLS and DASH? <\/strong>fMP4 (CMAF), so one segment set serves both and your cache efficiency improves.<\/li>\n\n\n\n<li><strong>Must support very old devices or broadcast\/IPTV equipment? <\/strong>Keep MPEG-TS, at least as a fallback rendition.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Frequently Asked Questions<\/strong><\/h2>\n\n\n\n<div data-schema-only=\"false\" class=\"wp-block-aioseo-faq\"><h3 class=\"aioseo-faq-block-question\"><strong>What is the difference between MPEG-TS and fMP4?<\/strong><\/h3><div class=\"aioseo-faq-block-answer\">\n<p class=\"wp-block-paragraph\">MPEG-TS packages media into fixed 188-byte packets designed for broadcast resilience, with each .ts segment self-contained. fMP4 packages media as fragmented MP4 (.m4s) segments built on ISOBMFF, with a separate init segment referenced by #EXT-X-MAP. fMP4 has lower overhead, can be shared with DASH, and is required for HEVC and modern DRM in HLS.<\/p>\n<\/div><\/div>\n\n\n\n<div data-schema-only=\"false\" class=\"wp-block-aioseo-faq\"><h3 class=\"aioseo-faq-block-question\"><strong>Is fMP4 better than MPEG-TS?<\/strong><\/h3><div class=\"aioseo-faq-block-answer\">\n<p class=\"wp-block-paragraph\">For most modern streaming, yes: fMP4 has lower overhead, lets HLS and DASH share one segment set (improving CDN cache efficiency), and is required for HEVC\/H.265, AV1, and Common Encryption DRM. MPEG-TS still wins for very old device compatibility and in broadcast\/IPTV workflows.<\/p>\n<\/div><\/div>\n\n\n\n<div data-schema-only=\"false\" class=\"wp-block-aioseo-faq\"><h3 class=\"aioseo-faq-block-question\"><strong>Is fMP4 the same as CMAF?<\/strong><\/h3><div class=\"aioseo-faq-block-answer\">\n<p class=\"wp-block-paragraph\">Not exactly, but they are closely related. CMAF is a standardized, portable profile of fragmented MP4 that both HLS and DASH agree on. All CMAF segments are fMP4, so in a streaming context the terms are often used interchangeably.<\/p>\n<\/div><\/div>\n\n\n\n<div data-schema-only=\"false\" class=\"wp-block-aioseo-faq\"><h3 class=\"aioseo-faq-block-question\"><strong>Does HLS still use MPEG-TS?<\/strong><\/h3><div class=\"aioseo-faq-block-answer\">\n<p class=\"wp-block-paragraph\">HLS still supports MPEG-TS, but since Apple added fMP4 support in 2016, the industry has largely shifted to fMP4. MPEG-TS is now mainly used for legacy device compatibility and as a fallback rather than the default choice for new pipelines.<\/p>\n<\/div><\/div>\n\n\n\n<div data-schema-only=\"false\" class=\"wp-block-aioseo-faq\"><h3 class=\"aioseo-faq-block-question\"><strong>Why can&#8217;t I use HEVC with MPEG-TS in HLS?<\/strong><\/h3><div class=\"aioseo-faq-block-answer\">\n<p class=\"wp-block-paragraph\">Apple&#8217;s HLS specification only supports HEVC\/H.265 (and other modern codecs and DRM) when segments are packaged as fMP4. The older MPEG-TS segment path in HLS does not carry them, so HEVC in HLS requires fMP4.<\/p>\n<\/div><\/div>\n\n\n\n<div data-schema-only=\"false\" class=\"wp-block-aioseo-faq\"><h3 class=\"aioseo-faq-block-question\"><strong>Do fMP4 segments work with DASH?<\/strong><\/h3><div class=\"aioseo-faq-block-answer\">\n<p class=\"wp-block-paragraph\">Yes. Because DASH already uses fragmented MP4, fMP4 segments can be shared between HLS and DASH \u2014 one set of files served by both protocols. This is a core advantage of fMP4 and the basis of CMAF.<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Packaging HLS and DASH with 5centsCDN<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Whether you standardize on fMP4 or keep an MPEG-TS fallback, the segments still have to be packaged and delivered efficiently at the edge. 5centsCDN supports modern fMP4 (CMAF-based) HLS packaging as part of its <a href=\"https:\/\/www.5centscdn.net\/video-streaming\">video delivery<\/a> workflow. If you are choosing a segment format or planning a migration, <a href=\"https:\/\/5centscdn.net\/contact-us\">get in touch with our team<\/a> to talk through the setup that fits your audience and codecs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MPEG-TS vs fMP4 for HLS: how the .ts and .m4s segment formats differ in overhead, compatibility, and CDN efficiency \u2014 and why streaming moved to fMP4.<\/p>\n","protected":false},"author":123478,"featured_media":6740,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,200],"tags":[],"class_list":["post-6738","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dashboard","category-video-streaming-vod"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"MPEG-TS vs fMP4 for HLS: how the .ts and .m4s segment formats differ in overhead, compatibility, and CDN efficiency \u2014 and why streaming moved to fMP4.\" \/>\n\t<meta name=\"robots\" content=\"noarchive, notranslate, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n\t<meta name=\"author\" content=\"Fahad Anwar Muneer\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"5centsCDN | Video Live Streaming | CDN | Restream - Live streaming platform and restreaming to YouTube and Facebook. IP cam restreaming with restreaming.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"MPEG-TS vs fMP4: Which HLS Segment Format to Use\" \/>\n\t\t<meta property=\"og:description\" content=\"MPEG-TS vs fMP4 for HLS: how the .ts and .m4s segment formats differ in overhead, compatibility, and CDN efficiency \u2014 and why streaming moved to fMP4.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2022\/06\/Logo.svg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2022\/06\/Logo.svg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"161\" \/>\n\t\t<meta property=\"og:image:height\" content=\"58\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-13T11:11:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-13T11:11:53+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/5centscdn\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@5centscdn\" \/>\n\t\t<meta name=\"twitter:title\" content=\"MPEG-TS vs fMP4: Which HLS Segment Format to Use\" \/>\n\t\t<meta name=\"twitter:description\" content=\"MPEG-TS vs fMP4 for HLS: how the .ts and .m4s segment formats differ in overhead, compatibility, and CDN efficiency \u2014 and why streaming moved to fMP4.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@5centscdn\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2022\/06\/Logo.svg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#blogposting\",\"name\":\"MPEG-TS vs fMP4: Which HLS Segment Format to Use\",\"headline\":\"MPEG-TS vs fMP4: Which HLS Segment Format to Use\",\"author\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/author\\\/fahad5centscdn-ca\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/hero-image_temeplate-6-scaled.jpg\",\"width\":2560,\"height\":1440},\"datePublished\":\"2026-07-13T11:11:49+00:00\",\"dateModified\":\"2026-07-13T11:11:53+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#webpage\"},\"articleSection\":\"Dashboard, Video Streaming &amp; VOD\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/category\\\/dashboard\\\/#listItem\",\"name\":\"Dashboard\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/category\\\/dashboard\\\/#listItem\",\"position\":2,\"name\":\"Dashboard\",\"item\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/category\\\/dashboard\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#listItem\",\"name\":\"MPEG-TS vs fMP4: Which HLS Segment Format to Use\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#listItem\",\"position\":3,\"name\":\"MPEG-TS vs fMP4: Which HLS Segment Format to Use\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/category\\\/dashboard\\\/#listItem\",\"name\":\"Dashboard\"}}]},{\"@type\":\"FAQPage\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#faq\",\"url\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is the difference between MPEG-TS and fMP4?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"MPEG-TS packages media into fixed 188-byte packets designed for broadcast resilience, with each .ts segment self-contained. fMP4 packages media as fragmented MP4 (.m4s) segments built on ISOBMFF, with a separate init segment referenced by #EXT-X-MAP. fMP4 has lower overhead, can be shared with DASH, and is required for HEVC and modern DRM in HLS.\"}},{\"@type\":\"Question\",\"name\":\"Is fMP4 better than MPEG-TS?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"For most modern streaming, yes: fMP4 has lower overhead, lets HLS and DASH share one segment set (improving CDN cache efficiency), and is required for HEVC\\\/H.265, AV1, and Common Encryption DRM. MPEG-TS still wins for very old device compatibility and in broadcast\\\/IPTV workflows.\"}},{\"@type\":\"Question\",\"name\":\"Is fMP4 the same as CMAF?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Not exactly, but they are closely related. CMAF is a standardized, portable profile of fragmented MP4 that both HLS and DASH agree on. All CMAF segments are fMP4, so in a streaming context the terms are often used interchangeably.\"}},{\"@type\":\"Question\",\"name\":\"Does HLS still use MPEG-TS?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"HLS still supports MPEG-TS, but since Apple added fMP4 support in 2016, the industry has largely shifted to fMP4. MPEG-TS is now mainly used for legacy device compatibility and as a fallback rather than the default choice for new pipelines.\"}},{\"@type\":\"Question\",\"name\":\"Why can't I use HEVC with MPEG-TS in HLS?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Apple's HLS specification only supports HEVC\\\/H.265 (and other modern codecs and DRM) when segments are packaged as fMP4. The older MPEG-TS segment path in HLS does not carry them, so HEVC in HLS requires fMP4.\"}},{\"@type\":\"Question\",\"name\":\"Do fMP4 segments work with DASH?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Because DASH already uses fragmented MP4, fMP4 segments can be shared between HLS and DASH \\u2014 one set of files served by both protocols. This is a core advantage of fMP4 and the basis of CMAF.\"}}],\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#breadcrumblist\"}},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/#organization\",\"name\":\"5centsCDN | Video Live Streaming | CDN | Restream\",\"description\":\"Live streaming platform and restreaming to YouTube and Facebook. IP cam restreaming with restreaming.\",\"url\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/\",\"email\":\"hello@5centscdn.com\",\"telephone\":\"+13025203418\",\"foundingDate\":\"2021-04-08\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":1,\"maxValue\":50},\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Logo.svg\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#organizationLogo\",\"width\":161,\"height\":58},\"image\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/5centscdn\",\"https:\\\/\\\/x.com\\\/5centscdn\",\"https:\\\/\\\/instagram.com\\\/5centscdn\",\"https:\\\/\\\/tiktok.com\\\/@5centscdn\",\"https:\\\/\\\/pinterest.com\\\/5centscdn\",\"https:\\\/\\\/youtube.com\\\/5centscdn\",\"https:\\\/\\\/linkedin.com\\\/in\\\/5centscdn\",\"https:\\\/\\\/bsky.app\\\/profile\\\/5centscdn\",\"https:\\\/\\\/threads.com\\\/@5centscdn\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/author\\\/fahad5centscdn-ca\\\/#author\",\"url\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/author\\\/fahad5centscdn-ca\\\/\",\"name\":\"Fahad Anwar Muneer\",\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7b908b7ec0c2fba98c0461eefa6cafc4a65be05c408af1d7d33849cbe03ca71d?s=96&d=mm&r=g\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#webpage\",\"url\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/\",\"name\":\"MPEG-TS vs fMP4: Which HLS Segment Format to Use\",\"description\":\"MPEG-TS vs fMP4 for HLS: how the .ts and .m4s segment formats differ in overhead, compatibility, and CDN efficiency \\u2014 and why streaming moved to fMP4.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/author\\\/fahad5centscdn-ca\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/author\\\/fahad5centscdn-ca\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/hero-image_temeplate-6-scaled.jpg\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#mainImage\",\"width\":2560,\"height\":1440},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/mpeg-ts-vs-fmp4\\\/#mainImage\"},\"datePublished\":\"2026-07-13T11:11:49+00:00\",\"dateModified\":\"2026-07-13T11:11:53+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/\",\"name\":\"5centsCDN | Video Live Streaming | CDN | Restream\",\"alternateName\":\"5centsCDN\",\"description\":\"Live streaming platform and restreaming to YouTube and Facebook. IP cam restreaming with restreaming.\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.5centscdn.net\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<script type=\"text\/javascript\">\n\t\t\t(function(c,l,a,r,i,t,y){\n\t\t\tc[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;\n\t\t\tt.src=\"https:\/\/www.clarity.ms\/tag\/\"+i+\"?ref=aioseo\";y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n\t\t})(window, document, \"clarity\", \"script\", \"feo2cgjhrw\");\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>MPEG-TS vs fMP4: Which HLS Segment Format to Use<\/title>\n\n","aioseo_head_json":{"title":"MPEG-TS vs fMP4: Which HLS Segment Format to Use","description":"MPEG-TS vs fMP4 for HLS: how the .ts and .m4s segment formats differ in overhead, compatibility, and CDN efficiency \u2014 and why streaming moved to fMP4.","canonical_url":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/","robots":"noarchive, notranslate, max-snippet:-1, max-image-preview:large, max-video-preview:-1","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#blogposting","name":"MPEG-TS vs fMP4: Which HLS Segment Format to Use","headline":"MPEG-TS vs fMP4: Which HLS Segment Format to Use","author":{"@id":"https:\/\/www.5centscdn.net\/blog\/author\/fahad5centscdn-ca\/#author"},"publisher":{"@id":"https:\/\/www.5centscdn.net\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/hero-image_temeplate-6-scaled.jpg","width":2560,"height":1440},"datePublished":"2026-07-13T11:11:49+00:00","dateModified":"2026-07-13T11:11:53+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#webpage"},"isPartOf":{"@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#webpage"},"articleSection":"Dashboard, Video Streaming &amp; VOD"},{"@type":"BreadcrumbList","@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.5centscdn.net\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.5centscdn.net\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.5centscdn.net\/blog\/category\/dashboard\/#listItem","name":"Dashboard"}},{"@type":"ListItem","@id":"https:\/\/www.5centscdn.net\/blog\/category\/dashboard\/#listItem","position":2,"name":"Dashboard","item":"https:\/\/www.5centscdn.net\/blog\/category\/dashboard\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#listItem","name":"MPEG-TS vs fMP4: Which HLS Segment Format to Use"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.5centscdn.net\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#listItem","position":3,"name":"MPEG-TS vs fMP4: Which HLS Segment Format to Use","previousItem":{"@type":"ListItem","@id":"https:\/\/www.5centscdn.net\/blog\/category\/dashboard\/#listItem","name":"Dashboard"}}]},{"@type":"FAQPage","@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#faq","url":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/","mainEntity":[{"@type":"Question","name":"What is the difference between MPEG-TS and fMP4?","acceptedAnswer":{"@type":"Answer","text":"MPEG-TS packages media into fixed 188-byte packets designed for broadcast resilience, with each .ts segment self-contained. fMP4 packages media as fragmented MP4 (.m4s) segments built on ISOBMFF, with a separate init segment referenced by #EXT-X-MAP. fMP4 has lower overhead, can be shared with DASH, and is required for HEVC and modern DRM in HLS."}},{"@type":"Question","name":"Is fMP4 better than MPEG-TS?","acceptedAnswer":{"@type":"Answer","text":"For most modern streaming, yes: fMP4 has lower overhead, lets HLS and DASH share one segment set (improving CDN cache efficiency), and is required for HEVC\/H.265, AV1, and Common Encryption DRM. MPEG-TS still wins for very old device compatibility and in broadcast\/IPTV workflows."}},{"@type":"Question","name":"Is fMP4 the same as CMAF?","acceptedAnswer":{"@type":"Answer","text":"Not exactly, but they are closely related. CMAF is a standardized, portable profile of fragmented MP4 that both HLS and DASH agree on. All CMAF segments are fMP4, so in a streaming context the terms are often used interchangeably."}},{"@type":"Question","name":"Does HLS still use MPEG-TS?","acceptedAnswer":{"@type":"Answer","text":"HLS still supports MPEG-TS, but since Apple added fMP4 support in 2016, the industry has largely shifted to fMP4. MPEG-TS is now mainly used for legacy device compatibility and as a fallback rather than the default choice for new pipelines."}},{"@type":"Question","name":"Why can't I use HEVC with MPEG-TS in HLS?","acceptedAnswer":{"@type":"Answer","text":"Apple's HLS specification only supports HEVC\/H.265 (and other modern codecs and DRM) when segments are packaged as fMP4. The older MPEG-TS segment path in HLS does not carry them, so HEVC in HLS requires fMP4."}},{"@type":"Question","name":"Do fMP4 segments work with DASH?","acceptedAnswer":{"@type":"Answer","text":"Yes. Because DASH already uses fragmented MP4, fMP4 segments can be shared between HLS and DASH \u2014 one set of files served by both protocols. This is a core advantage of fMP4 and the basis of CMAF."}},{"@type":"Question","name":"What is the difference between MPEG-TS and fMP4?","acceptedAnswer":{"@type":"Answer","text":"MPEG-TS packages media into fixed 188-byte packets designed for broadcast resilience, with each .ts segment self-contained. fMP4 packages media as fragmented MP4 (.m4s) segments built on ISOBMFF, with a separate init segment referenced by #EXT-X-MAP. fMP4 has lower overhead, can be shared with DASH, and is required for HEVC and modern DRM in HLS."}},{"@type":"Question","name":"Is fMP4 better than MPEG-TS?","acceptedAnswer":{"@type":"Answer","text":"For most modern streaming, yes: fMP4 has lower overhead, lets HLS and DASH share one segment set (improving CDN cache efficiency), and is required for HEVC\/H.265, AV1, and Common Encryption DRM. MPEG-TS still wins for very old device compatibility and in broadcast\/IPTV workflows."}},{"@type":"Question","name":"Is fMP4 the same as CMAF?","acceptedAnswer":{"@type":"Answer","text":"Not exactly, but they are closely related. CMAF is a standardized, portable profile of fragmented MP4 that both HLS and DASH agree on. All CMAF segments are fMP4, so in a streaming context the terms are often used interchangeably."}},{"@type":"Question","name":"Does HLS still use MPEG-TS?","acceptedAnswer":{"@type":"Answer","text":"HLS still supports MPEG-TS, but since Apple added fMP4 support in 2016, the industry has largely shifted to fMP4. MPEG-TS is now mainly used for legacy device compatibility and as a fallback rather than the default choice for new pipelines."}},{"@type":"Question","name":"Why can't I use HEVC with MPEG-TS in HLS?","acceptedAnswer":{"@type":"Answer","text":"Apple's HLS specification only supports HEVC\/H.265 (and other modern codecs and DRM) when segments are packaged as fMP4. The older MPEG-TS segment path in HLS does not carry them, so HEVC in HLS requires fMP4."}},{"@type":"Question","name":"Do fMP4 segments work with DASH?","acceptedAnswer":{"@type":"Answer","text":"Yes. Because DASH already uses fragmented MP4, fMP4 segments can be shared between HLS and DASH \u2014 one set of files served by both protocols. This is a core advantage of fMP4 and the basis of CMAF."}}],"inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.5centscdn.net\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#breadcrumblist"}},{"@type":"Organization","@id":"https:\/\/www.5centscdn.net\/blog\/#organization","name":"5centsCDN | Video Live Streaming | CDN | Restream","description":"Live streaming platform and restreaming to YouTube and Facebook. IP cam restreaming with restreaming.","url":"https:\/\/www.5centscdn.net\/blog\/","email":"hello@5centscdn.com","telephone":"+13025203418","foundingDate":"2021-04-08","numberOfEmployees":{"@type":"QuantitativeValue","minValue":1,"maxValue":50},"logo":{"@type":"ImageObject","url":"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2022\/06\/Logo.svg","@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#organizationLogo","width":161,"height":58},"image":{"@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#organizationLogo"},"sameAs":["https:\/\/facebook.com\/5centscdn","https:\/\/x.com\/5centscdn","https:\/\/instagram.com\/5centscdn","https:\/\/tiktok.com\/@5centscdn","https:\/\/pinterest.com\/5centscdn","https:\/\/youtube.com\/5centscdn","https:\/\/linkedin.com\/in\/5centscdn","https:\/\/bsky.app\/profile\/5centscdn","https:\/\/threads.com\/@5centscdn"]},{"@type":"Person","@id":"https:\/\/www.5centscdn.net\/blog\/author\/fahad5centscdn-ca\/#author","url":"https:\/\/www.5centscdn.net\/blog\/author\/fahad5centscdn-ca\/","name":"Fahad Anwar Muneer","image":{"@type":"ImageObject","url":"https:\/\/secure.gravatar.com\/avatar\/7b908b7ec0c2fba98c0461eefa6cafc4a65be05c408af1d7d33849cbe03ca71d?s=96&d=mm&r=g"}},{"@type":"WebPage","@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#webpage","url":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/","name":"MPEG-TS vs fMP4: Which HLS Segment Format to Use","description":"MPEG-TS vs fMP4 for HLS: how the .ts and .m4s segment formats differ in overhead, compatibility, and CDN efficiency \u2014 and why streaming moved to fMP4.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.5centscdn.net\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#breadcrumblist"},"author":{"@id":"https:\/\/www.5centscdn.net\/blog\/author\/fahad5centscdn-ca\/#author"},"creator":{"@id":"https:\/\/www.5centscdn.net\/blog\/author\/fahad5centscdn-ca\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2026\/07\/hero-image_temeplate-6-scaled.jpg","@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#mainImage","width":2560,"height":1440},"primaryImageOfPage":{"@id":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/#mainImage"},"datePublished":"2026-07-13T11:11:49+00:00","dateModified":"2026-07-13T11:11:53+00:00"},{"@type":"WebSite","@id":"https:\/\/www.5centscdn.net\/blog\/#website","url":"https:\/\/www.5centscdn.net\/blog\/","name":"5centsCDN | Video Live Streaming | CDN | Restream","alternateName":"5centsCDN","description":"Live streaming platform and restreaming to YouTube and Facebook. IP cam restreaming with restreaming.","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.5centscdn.net\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"5centsCDN | Video Live Streaming | CDN | Restream - Live streaming platform and restreaming to YouTube and Facebook. IP cam restreaming with restreaming.","og:type":"article","og:title":"MPEG-TS vs fMP4: Which HLS Segment Format to Use","og:description":"MPEG-TS vs fMP4 for HLS: how the .ts and .m4s segment formats differ in overhead, compatibility, and CDN efficiency \u2014 and why streaming moved to fMP4.","og:url":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/","og:image":"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2022\/06\/Logo.svg","og:image:secure_url":"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2022\/06\/Logo.svg","og:image:width":161,"og:image:height":58,"article:published_time":"2026-07-13T11:11:49+00:00","article:modified_time":"2026-07-13T11:11:53+00:00","article:publisher":"https:\/\/facebook.com\/5centscdn","twitter:card":"summary_large_image","twitter:site":"@5centscdn","twitter:title":"MPEG-TS vs fMP4: Which HLS Segment Format to Use","twitter:description":"MPEG-TS vs fMP4 for HLS: how the .ts and .m4s segment formats differ in overhead, compatibility, and CDN efficiency \u2014 and why streaming moved to fMP4.","twitter:creator":"@5centscdn","twitter:image":"https:\/\/www.5centscdn.net\/blog\/wp-content\/uploads\/2022\/06\/Logo.svg"},"aioseo_meta_data":{"post_id":"6738","title":"#post_title","description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"MPEG-TS vs fMP4","score":69,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":3},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":3,"maxScore":9,"error":1},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}},"additional":[{"keyphrase":"fMP4 vs TS","score":40,"analysis":{"keyphraseInDescription":{"score":3,"maxScore":9,"error":1},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":3},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":3,"maxScore":9,"error":1},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}},{"keyphrase":"MPEG-TS segments","score":53,"analysis":{"keyphraseInDescription":{"score":3,"maxScore":9,"error":1},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":9,"maxScore":9,"error":0},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}},{"keyphrase":"fragmented MP4 HLS","score":40,"analysis":{"keyphraseInDescription":{"score":3,"maxScore":9,"error":1},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":3},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":3,"maxScore":9,"error":1},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}},{"keyphrase":"HLS segment format","score":40,"analysis":{"keyphraseInDescription":{"score":3,"maxScore":9,"error":1},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":3},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":3,"maxScore":9,"error":1},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}},{"keyphrase":".ts vs .m4s","score":40,"analysis":{"keyphraseInDescription":{"score":3,"maxScore":9,"error":1},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":3},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":3,"maxScore":9,"error":1},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}},{"keyphrase":"fMP4 HLS","score":53,"analysis":{"keyphraseInDescription":{"score":3,"maxScore":9,"error":1},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":9,"maxScore":9,"error":0},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}},{"keyphrase":"transport stream streaming","score":40,"analysis":{"keyphraseInDescription":{"score":3,"maxScore":9,"error":1},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":3},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":3,"maxScore":9,"error":1},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}}]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[{"hidden":false,"schemaBlockId":"aioseo-mrj3vsgj95umx","tagName":"h3","answer":"MPEG-TS packages media into fixed 188-byte packets designed for broadcast resilience, with each .ts segment self-contained. fMP4 packages media as fragmented MP4 (.m4s) segments built on ISOBMFF, with a separate init segment referenced by #EXT-X-MAP. fMP4 has lower overhead, can be shared with DASH, and is required for HEVC and modern DRM in HLS.","type":"aioseo\/faq","question":"What is the difference between MPEG-TS and fMP4?"},{"hidden":false,"schemaBlockId":"aioseo-mrj3vlwzrasl2","tagName":"h3","answer":"For most modern streaming, yes: fMP4 has lower overhead, lets HLS and DASH share one segment set (improving CDN cache efficiency), and is required for HEVC\/H.265, AV1, and Common Encryption DRM. MPEG-TS still wins for very old device compatibility and in broadcast\/IPTV workflows.","type":"aioseo\/faq","question":"Is fMP4 better than MPEG-TS?"},{"hidden":false,"schemaBlockId":"aioseo-mrj3vnf9hr0zh","tagName":"h3","answer":"Not exactly, but they are closely related. CMAF is a standardized, portable profile of fragmented MP4 that both HLS and DASH agree on. All CMAF segments are fMP4, so in a streaming context the terms are often used interchangeably.","type":"aioseo\/faq","question":"Is fMP4 the same as CMAF?"},{"hidden":false,"schemaBlockId":"aioseo-mrj3von5dcp6i","tagName":"h3","answer":"HLS still supports MPEG-TS, but since Apple added fMP4 support in 2016, the industry has largely shifted to fMP4. MPEG-TS is now mainly used for legacy device compatibility and as a fallback rather than the default choice for new pipelines.","type":"aioseo\/faq","question":"Does HLS still use MPEG-TS?"},{"hidden":false,"schemaBlockId":"aioseo-mrj3vqchaehw1","tagName":"h3","answer":"Apple's HLS specification only supports HEVC\/H.265 (and other modern codecs and DRM) when segments are packaged as fMP4. The older MPEG-TS segment path in HLS does not carry them, so HEVC in HLS requires fMP4.","type":"aioseo\/faq","question":"Why can't I use HEVC with MPEG-TS in HLS?"},{"hidden":false,"schemaBlockId":"aioseo-mrj3vrfi7abcb","tagName":"h3","answer":"Yes. Because DASH already uses fragmented MP4, fMP4 segments can be shared between HLS and DASH \u2014 one set of files served by both protocols. This is a core advantage of fMP4 and the basis of CMAF.","type":"aioseo\/faq","question":"Do fMP4 segments work with DASH?"}],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"seo_analyzer_scan_date":"2026-07-13 11:12:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":"0","open_ai":null,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":[],"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-07-13 10:49:47","updated":"2026-07-13 11:12:23"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.5centscdn.net\/blog\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.5centscdn.net\/blog\/category\/dashboard\/\" title=\"Dashboard\">Dashboard<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\tMPEG-TS vs fMP4: Which HLS Segment Format to Use\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.5centscdn.net\/blog"},{"label":"Dashboard","link":"https:\/\/www.5centscdn.net\/blog\/category\/dashboard\/"},{"label":"MPEG-TS vs fMP4: Which HLS Segment Format to Use","link":"https:\/\/www.5centscdn.net\/blog\/mpeg-ts-vs-fmp4\/"}],"_links":{"self":[{"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/posts\/6738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/users\/123478"}],"replies":[{"embeddable":true,"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/comments?post=6738"}],"version-history":[{"count":2,"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/posts\/6738\/revisions"}],"predecessor-version":[{"id":6744,"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/posts\/6738\/revisions\/6744"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/media\/6740"}],"wp:attachment":[{"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/media?parent=6738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/categories?post=6738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.5centscdn.net\/blog\/wp-json\/wp\/v2\/tags?post=6738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}