Specializing in Windows applications, website services, and automation solutions to enhance your business

November 14, 2024

FFmpeg: Convert Video to MP4 with H264 and AAC

November 14, 2024

MP4 with H264 video codec and AAC audio codec is the gold standard for video uploads on platforms like YouTube, Vimeo, and Dailymotion. This format ensures that videos are not only high quality but also fully compatible with the most popular video streaming services. Using FFmpeg H264 encoding will simplify and streamline your video processing.

    Optimal Settings for H264 and AAC Encodings

    To get the best results when uploading videos to YouTube, Vimeo, or Dailymotion, it's important to use the right settings. These settings will ensure your video is both high-quality and optimized for streaming. Here are the recommended settings:

    Container:MP4
    Video Codec:H264
    Audio Codec:AAC
    Resolution:1920x1080 (Full HD)
    Frame Rate:30 fps
    Video Bitrate:8 Mbps
    Audio Sample Rate:48 kHz
    Bitrate:192 kbps
    Profile & Level:H264 High Profile, Level 4.2

    These settings ensure that your video will look crisp and load efficiently on video platforms while maintaining a good balance between file size and quality.

    Implementing FFmpeg for H264 and AAC Conversion

    With the optimal settings in hand, let’s dive into how to use FFmpeg to apply them. This simple command will convert your video to MP4 format, using H264 for the video and AAC for the audio, perfect for uploading to YouTube, Vimeo, and other platforms:

    ffmpeg -i input_video.mp4 -c:v libx264 -profile:v high -level:v 4.2 -b:v 8M -r 30 -s 1920x1080 -c:a aac -b:a 192k -ar 48000 -preset slow -f mp4 output_video.mp4

    Here’s what each part of the command does:

    • -i input_video.mp4: Specifies the input file.
    • -c:v libx264: Tells FFmpeg to use the H264 codec for video.
    • -profile:v high: Sets the H264 profile to high for better quality.
    • -level:v 4.2: Sets the H264 level for optimal playback.
    • -b:v 8M: Defines the video bitrate (8 Mbps) for a good balance of quality and file size.
    • -r 30: Sets the frame rate to 30 fps, which is ideal for most platforms.
    • -s 1920x1080: Sets the resolution to Full HD.
    • -c:a aac: Uses the AAC codec for audio.
    • -b:a 192k: Sets the audio bitrate to 192 kbps for clear sound.
    • -ar 48000: Sets the audio sample rate to 48 kHz.
    • -preset slow: Optimizes for the best video quality.
    • -f mp4: Specifies the MP4 container format.
    • output_video.mp4: The output file name.

    Want a deeper dive? Watch this video about FFmpeg H264 for a step-by-step walkthrough!