Skip to main content

Formatos para Redes Sociais com FFmpeg

Cada plataforma tem suas especificações. Em vez de memorizar todas, tenha um conjunto de comandos FFmpeg testados e prontos para cada destino.

YouTube

1080p H.264, CRF 18, AAC 192k+

Terminal window
ffmpeg -i render.mov \
-c:v libx264 \
-crf 18 \
-preset slow \
-pix_fmt yuv420p \
-c:a aac -b:a 192k -ar 48000 \
-movflags +faststart \
youtube_1080p.mp4
Terminal window
# 4K para YouTube:
ffmpeg -i render.mov \
-c:v libx264 \
-crf 18 \
-preset slow \
-pix_fmt yuv420p \
-vf scale=3840:2160 \
-c:a aac -b:a 384k \
youtube_4k.mp4

Instagram

TikTok

Terminal window
ffmpeg -i render.mov \
-vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black,fps=30" \
-c:v libx264 -crf 18 \
-pix_fmt yuv420p \
-c:a aac -b:a 192k \
tiktok.mp4

LinkedIn

Terminal window
ffmpeg -i input.mp4 \
-c:v libx264 -crf 20 \
-pix_fmt yuv420p \
-vf scale=1920:1080 \
-c:a aac -b:a 128k \
-t 600 \
linkedin.mp4

Script tudo-em-um

Recebe um arquivo ProRes e gera todas as versões:

#!/bin/bash
# Gera todas as versões de uma vez
INPUT=$1
BASE=$(basename "$INPUT" .mov)
# YouTube:
ffmpeg -i "$INPUT" -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -b:a 192k -movflags +faststart "${BASE}_youtube.mp4"
# Instagram Square:
ffmpeg -i "$INPUT" -vf "scale=1080:1080:force_original_aspect_ratio=decrease,pad=1080:1080:(ow-iw)/2:(oh-ih)/2:black" \
-c:v libx264 -crf 20 -pix_fmt yuv420p "${BASE}_ig_square.mp4"
# Reels:
ffmpeg -i "$INPUT" -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" \
-c:v libx264 -crf 20 -pix_fmt yuv420p "${BASE}_reels.mp4"
# Instagram vertical 9:16 (recorte centrado, não letterbox)
ffmpeg -i "$INPUT" -vf "crop=1080:1920:420:0" \
-c:v libx264 -crf 18 -pix_fmt yuv420p \
-c:a aac -b:a 192k "${BASE}_instagram.mp4"
echo "Todos os formatos gerados!"

Uso: ./exportar.sh render.mov