Convert MP4 to FLV

Drag and drop files here or click to select.
Max file size 100mb.
Uploading progress:

MP4 vs FLV Format Comparison

Aspect MP4 (Source Format) FLV (Target Format)
Format Overview
MP4
MPEG-4 Part 14

The most widely used video container format, standardized as ISO/IEC 14496-14. MP4 wraps H.264/H.265 video and AAC audio into a streamable container optimized for web delivery, mobile playback, and broadcast. Its universal device support — from smartphones to smart TVs to web browsers — makes it the default choice for video distribution, though its rigid codec constraints and limited multi-track capabilities can be restrictive for archival and professional workflows.

Standard Lossy
FLV
Flash Video

Adobe's Flash Video container was the dominant web video format from 2002 to 2015, powering YouTube, Hulu, and virtually every video-sharing site before HTML5. FLV supports Sorenson Spark, VP6, and H.264 video with MP3 or AAC audio, optimized for progressive download and real-time streaming via RTMP protocol. Following Adobe Flash Player's end-of-life in December 2020, FLV has become a legacy format — though significant archives of FLV content still exist and the format remains used in RTMP-based live streaming infrastructure.

Legacy Lossy
Technical Specifications
Container: MPEG-4 Part 14 (ISO base media file format)
Video Codecs: H.264, H.265/HEVC, AV1, MPEG-4 ASP
Audio Codecs: AAC, MP3, AC-3, E-AC-3
Max Resolution: Up to 8K (7680×4320)
Extensions: .mp4, .m4v, .m4a
Container: Adobe Flash container (FLV/F4V)
Video Codecs: Sorenson Spark (H.263), VP6, H.264/AVC
Audio Codecs: MP3, AAC, Speex, ADPCM, Nellymoser
Max Resolution: Up to 1080p (H.264 profile)
Extensions: .flv, .f4v
Video Features
  • Subtitles: Limited (CEA-608/708 captions, TTML)
  • Chapters: Basic chapter markers
  • Multi-Audio: Supported but limited in practice
  • HDR: HDR10, HDR10+, Dolby Vision
  • DRM: FairPlay, Widevine, PlayReady
  • Streaming: Native HLS/DASH support
  • Subtitles: Basic cue points for text overlays
  • Chapters: Not supported (cue point navigation only)
  • Multi-Audio: Single audio track
  • HDR: Not supported
  • DRM: Adobe Access DRM (deprecated)
  • Streaming: RTMP live streaming, progressive download
Processing & Tools

MP4 encoding and muxing with FFmpeg:

# Encode video to MP4 with H.264
ffmpeg -i input.avi -c:v libx264 -crf 23 \
  -c:a aac -b:a 192k output.mp4

# Fast-start for web streaming
ffmpeg -i input.mp4 -c copy \
  -movflags +faststart output.mp4

FLV conversion and RTMP streaming with FFmpeg:

# Convert MP4 to FLV with H.264
ffmpeg -i input.mp4 -c:v libx264 -preset medium \
  -crf 23 -c:a aac -b:a 128k -f flv output.flv

# Stream MP4 to RTMP server as FLV
ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast \
  -c:a aac -f flv rtmp://server/live/stream
Advantages
  • Universal device and browser compatibility
  • Native streaming support (HLS, DASH, progressive)
  • Optimized for mobile playback and battery efficiency
  • Required by most social media and video platforms
  • Hardware-accelerated decoding on all modern devices
  • Compact metadata structure for fast seeking
  • Pioneered web video delivery
  • Excellent RTMP streaming support
  • Small file sizes for web delivery
  • Mature encoder and tooling ecosystem
  • Fast progressive download performance
  • Still used in live streaming infrastructure (RTMP ingest)
Disadvantages
  • Limited codec flexibility (restricted to MPEG standards)
  • Basic subtitle support (no rich formatting like ASS/SSA)
  • Poor multi-track management for complex content
  • No file attachment capability
  • Cannot embed lossless codecs like FLAC or FFV1
  • Deprecated (Flash Player EOL December 2020)
  • No browser playback without plugins
  • Limited to single audio track
  • No subtitle or chapter support
  • Poor modern codec support (no VP9/AV1/HEVC)
  • Security vulnerabilities in Flash Player
Common Uses
  • Web video streaming (YouTube, Vimeo, TikTok)
  • Mobile video capture and playback
  • Social media video uploads
  • Video conferencing recordings
  • Digital distribution and VOD platforms
  • Legacy web video archives (pre-2015)
  • RTMP live streaming ingest
  • Flash-based e-learning content
  • Legacy game and animation video
  • Archived YouTube/Dailymotion downloads
  • Live streaming to platforms via RTMP
Best For
  • Universal distribution and maximum device compatibility
  • Web streaming and social media publishing
  • Mobile-first video workflows
  • Broadcast and professional delivery
  • RTMP-based live streaming workflows
  • Accessing legacy Flash video archives
  • Low-latency streaming ingest
  • Converting old web video collections
Version History
Introduced: 2001 (ISO/IEC 14496-14)
Current Version: MP4 (2003), CMAF (2018)
Status: Universal standard, actively maintained
Evolution: QuickTime (1991) → MPEG-4 Part 14 (2003) → CMAF (2018)
Introduced: 2002 (Macromedia Flash Player 6)
Current Version: FLV1 / F4V (Adobe, 2007)
Status: Deprecated (Flash Player EOL December 2020)
Evolution: Flash MX/FLV (2002) → VP6 (2005) → H.264/F4V (2007) → Flash EOL (2020)
Software Support
Media Players: VLC, mpv, Windows Media Player, QuickTime
Web Browsers: All browsers (H.264/H.265 100% support)
Video Editors: Premiere Pro, DaVinci Resolve, Final Cut Pro
Mobile: iOS, Android — native playback
CLI Tools: FFmpeg, HandBrake, MP4Box, Bento4
Media Players: VLC, mpv, PotPlayer, KMPlayer
Web Browsers: No native support (Flash Player deprecated)
Video Editors: Adobe Premiere Pro (import), FFmpeg
Mobile: Android (MX Player), iOS (not natively supported)
CLI Tools: FFmpeg, FLVTool2, yamdi, MediaInfo

Why Convert MP4 to FLV?

Converting MP4 to FLV serves a specific and still-relevant purpose: RTMP live streaming ingest. Despite Flash Player's end-of-life in 2020, the RTMP protocol and FLV container remain the backbone of live streaming infrastructure. When you stream to platforms like Twitch, YouTube Live, or Facebook Live using tools like OBS Studio, the video is encoded as H.264 and wrapped in FLV format before being sent via RTMP to the ingest server. Converting pre-recorded MP4 content to FLV enables you to push it through these same RTMP pipelines as if it were a live stream.

Another reason for MP4-to-FLV conversion is maintaining legacy Flash-based applications. Many e-learning platforms, interactive training modules, and corporate intranets built between 2005 and 2015 were designed around Flash video players that expect FLV input. While organizations should ideally migrate to HTML5, some legacy systems remain in use where replacing the video infrastructure would be costly or disruptive. FLV conversion keeps these systems functional until migration is complete.

For archival access, vast libraries of web video from the pre-HTML5 era exist in FLV format. If you're working with a system that catalogues or processes FLV archives, converting new MP4 content to FLV maintains consistency within the collection. Media asset management systems in broadcast and publishing may also require FLV for specific workflow stages, particularly those involving RTMP-based content distribution networks.

The conversion from MP4 to FLV is straightforward when both use H.264 video and AAC audio — FFmpeg can remux the streams into the FLV container without re-encoding, preserving quality and completing instantly. If the source uses H.265 or AV1 (which FLV doesn't support), re-encoding to H.264 is necessary, which takes longer but the quality difference is manageable. FLV's 1080p resolution limit means 4K MP4 sources must be downscaled during conversion.

Key Benefits of Converting MP4 to FLV:

  • RTMP Streaming: Required format for RTMP live streaming ingest to major platforms
  • Legacy Compatibility: Maintains functionality of Flash-based e-learning and enterprise apps
  • Quick Remux: H.264+AAC streams copy without re-encoding — instant conversion
  • Low Latency: FLV's simple structure enables fast parsing for real-time delivery
  • Archive Consistency: Matches existing FLV libraries for unified management
  • Streaming Infrastructure: Works with nginx-rtmp, Wowza, and other RTMP servers
  • Broadcast Ingest: Standard format for pushing content to live streaming platforms

Practical Examples

Example 1: RTMP Live Stream from Pre-Recorded Content

Scenario: A conference organizer wants to broadcast pre-recorded presentations to YouTube Live as if they were happening in real-time, using their existing RTMP streaming setup.

Source: keynote_presentation.mp4 (1.2 GB, 1920x1080, H.264, AAC, 45 min)
Conversion: MP4 → FLV (stream copy, no re-encoding)
Result: Sent via RTMP to YouTube Live ingest server

Workflow:
1. FFmpeg reads MP4 and remuxes to FLV on-the-fly
2. FLV stream sent via RTMP to YouTube ingest URL
3. Real-time pacing (-re flag) simulates live broadcast
4. YouTube receives and distributes as live stream
Result: Pre-recorded content appears as live broadcast
Result: No quality loss (stream copy, no re-encoding)
Result: Works with any RTMP-compatible streaming platform
Result: Viewers interact via live chat during playback

Example 2: Legacy E-Learning Platform Update

Scenario: A university has a Flash-based e-learning system with 500 training videos in FLV format. New content arrives as MP4 files and needs to match the existing FLV library for the platform's video player.

Source: new_lecture_module7.mp4 (800 MB, 1280x720, H.264, AAC, 60 min)
Conversion: MP4 → FLV (remux H.264 + AAC into FLV container)
Result: new_lecture_module7.flv (800 MB, same quality, FLV container)

Integration:
1. Remux MP4 to FLV (no re-encoding needed)
2. Add FLV metadata with yamdi for seeking support
3. Upload to e-learning content management system
4. Flash-based player loads and plays FLV natively
Result: New content matches existing 500-video FLV library
Result: Zero quality loss from container swap
Result: Flash player seeks correctly with updated metadata
Result: Students access content through existing interface

Example 3: Multi-Platform Live Streaming Setup

Scenario: A gaming streamer wants to push their recorded gameplay highlights to multiple RTMP servers simultaneously (Twitch, YouTube, and a custom nginx-rtmp server).

Source: gameplay_highlights.mp4 (2.5 GB, 1920x1080, H.264, AAC, 30 min)
Conversion: MP4 → FLV (multi-output RTMP streaming)
Result: Simultaneous FLV streams to 3 RTMP endpoints

Multi-stream setup:
1. Read MP4 source with real-time pacing
2. Encode once, output to multiple RTMP destinations
3. Each destination receives identical FLV stream
4. Platforms process and distribute independently
Result: Single encoding, triple output efficiency
Result: All three platforms receive identical quality
Result: nginx-rtmp server records and restreams
Result: Twitch/YouTube handle transcoding to viewers

Frequently Asked Questions (FAQ)

Q: Is FLV still relevant after Flash Player's end-of-life?

A: Yes, but in a limited capacity. While Flash Player is dead and FLV files can no longer play in web browsers, the FLV container format remains essential for RTMP live streaming. Every time you stream via OBS, Streamlabs, or FFmpeg to Twitch, YouTube Live, or Facebook Live, the video is wrapped in FLV format for RTMP transport. The protocol and container survive even though the browser plugin is gone.

Q: Does converting MP4 to FLV lose quality?

A: Not if both files use H.264 video and AAC/MP3 audio. In that case, FFmpeg can remux (stream copy) the content from MP4 to FLV containers without re-encoding — zero quality loss, instant speed, identical file size. Re-encoding is only needed if the source MP4 uses codecs that FLV doesn't support (H.265, AV1, VP9), in which case the video must be transcoded to H.264.

Q: Can modern media players play FLV files?

A: Yes. VLC, mpv, PotPlayer, and MX Player all handle FLV files without issues. The deprecation of Flash Player only affected web browser playback — standalone media players continue to support FLV through their built-in codec libraries. On mobile, Android apps like MX Player play FLV natively, while iOS users can use VLC for iOS.

Q: What is the difference between FLV and F4V?

A: FLV is the original Flash Video container supporting Sorenson Spark, VP6, and H.264 codecs. F4V is Adobe's newer container based on the ISO base media file format (essentially MP4 with Flash-specific extensions), introduced to better support H.264 and AAC. In practice, most people use "FLV" to refer to both formats. For RTMP streaming, the classic FLV container with H.264 is the standard choice.

Q: Can FLV handle 4K video?

A: Technically, there's no hard resolution limit in the FLV specification when using H.264. However, FLV was designed during the SD/HD era, and most FLV tools and players are optimized for up to 1080p. For 4K content, MP4, MKV, or WebM are far better choices. If you must convert 4K MP4 to FLV, the video will work but you may encounter compatibility issues with some FLV players.

Q: How do I add seeking support to FLV files?

A: FLV files need a metadata keyframe index for seeking to work properly. Use the yamdi tool to inject metadata: yamdi -i input.flv -o output.flv. Alternatively, FFmpeg's flvtool2 can add the onMetaData tag. Without this metadata, players may only be able to seek to the beginning of the file, not to arbitrary positions within the video.

Q: Should I use FLV or MP4 for web video?

A: MP4 with H.264 video is the correct choice for web video in 2024 and beyond. FLV should only be used for RTMP streaming ingest or maintaining legacy Flash-based systems. All modern browsers support MP4 natively through the HTML5 video element, while FLV requires a plugin that no browser supports anymore. For web delivery, MP4 is faster, more compatible, and better supported.

Q: Can I convert FLV back to MP4 later?

A: Yes, and it's equally simple. If the FLV contains H.264 video and AAC audio, you can remux back to MP4 without re-encoding: ffmpeg -i input.flv -c copy output.mp4. This is a lossless operation that completes instantly. The FLV-to-MP4 round-trip preserves the original quality perfectly as long as no re-encoding is involved in either direction.