Perfis iniciais do Senta: 8 comandos FFmpeg prontos
Na primeira execução, o Senta cria automaticamente 8 perfis prontos - eles aparecem na página Profiles imediatamente. Esta página explica o comando ffmpeg de cada um: o que ele faz, por que cada flag está ali e quando o perfil é (ou não é) adequado para uso como está.
Flags comuns do ffmpeg
Seção intitulada “Flags comuns do ffmpeg”Antes de passar pelos perfis um a um, uma tabela com as flags que se repetem na maioria deles (a lista completa está na documentação oficial do ffmpeg):
| Flag | O que faz |
|---|---|
-y | Sobrescreve a saída sem pedir confirmação. |
-hide_banner | Não exibe o banner de compilação/versão do ffmpeg na inicialização. |
-re / -readrate 1 | Lê a entrada na sua própria velocidade (real), em vez de o mais rápido possível - necessário para que um arquivo possa ser transmitido como uma fonte ao vivo. |
-stream_loop -1 | Repete o arquivo de entrada - recomeça do início quando termina, indefinidamente. |
-map 0:0 -map 0:1 | Inclui explicitamente as trilhas 0 (vídeo) e 1 (áudio) da entrada - uma garantia para o caso de o ffmpeg escolher as trilhas erradas. |
-c:v, -c:a | Codec de vídeo e de áudio, respectivamente. copy significa “passar o stream sem alterações, sem recodificar”. |
-b:v, -b:a | Bitrate alvo de vídeo e de áudio. |
-preset fast | Equilíbrio entre velocidade e eficiência de compressão para codificadores por software (libx264/libx265) - fast troca um pouco de qualidade/tamanho por velocidade de codificação. |
-profile:v main | O perfil Main do H.264 - bom equilíbrio entre compatibilidade com players e qualidade. |
-filter:v yadif | Desentrelaçamento - remove artefatos de entrelaçamento de fontes gravadas de forma entrelaçada. |
-forced-idr 1 | Faz o codificador (relevante para NVENC) emitir quadros IDR completos nos pontos de keyframe, em vez de quadros I leves - importante se o stream for segmentado depois (HLS/DASH) ou alternado entre fontes. |
-r | Taxa de quadros da saída. |
-g | Tamanho do GOP - o intervalo entre keyframes, em quadros. |
-keyint_min | Intervalo mínimo entre keyframes. |
-f mpegts | Formato do contêiner de saída - MPEG-TS. |
-gpu | Índice da GPU NVIDIA a usar na codificação por hardware NVENC. |
${i} / ${o} | As variáveis padrão de entrada/saída - veja Variáveis. |
HD h264 (ID 1)
Seção intitulada “HD h264 (ID 1)”ffmpeg -y -hide_banner -i ${i} -map 0:0 -map 0:1 ${cv} ${gpu} -preset fast -profile:v main -filter:v yadif -forced-idr 1 -b:v 4M -c:a aac -b:a 128k -r 25 -g 8 -keyint_min 13 -f mpegts ${o}WHERE[ { "desc": "gpu", "data": { "name": "GPU", "description": "Select GPU which stream will use, set empty if you don't use GPU", "command": "-gpu $value", "default": "" } }, { "desc": "cv", "data": { "name": "Video codec", "description": "To copy original codec set copy", "command": "-c:v $value", "default": "", "extension": { "type": "select", "options": ["h264_nvenc", "libx264", "libx265", "hevc_nvenc", "libaom-av1", "libvpx", "libvpx-vp9", "copy"] } } }]Transcodificação HD com bitrate de 4 Mbps. Ao criar um stream, você pode escolher o codec de vídeo em uma lista suspensa - hardware (h264_nvenc, hevc_nvenc), software (libx264, libx265, libaom-av1, libvpx*) ou simplesmente copy para não recodificar o vídeo - além de qual GPU usar na transcodificação.
- Vantagens: o mais flexível dos perfis iniciais - o codec é escolhido no momento de criar o stream, sem precisar editar o perfil.
- Desvantagens: o desentrelaçamento (
yadif) e as configurações de GOP estão fixos no perfil, não expostos como variáveis - se a fonte for progressiva ou você precisar de outro intervalo de keyframes, será preciso copiar e editar o perfil manualmente.
SD h264 (ID 2)
Seção intitulada “SD h264 (ID 2)”ffmpeg -re -y -hide_banner -i ${i} -map 0:0 -map 0:1 -c:v h264_nvenc -gpu 0 -preset fast -profile:v main -filter:v yadif -forced-idr 1 -b:v 1M -c:a aac -b:a 128k -r 25 -g 8 -keyint_min 13 -f mpegts ${o}O mesmo conjunto de flags do HD, mas com bitrate fixo de 1 Mbps e sem variáveis - o codec (h264_nvenc) e a GPU (0) estão fixos diretamente no comando.
- Vantagens: configuração mínima - pronto para uso imediato se você tem uma placa NVIDIA com NVENC.
- Desvantagens: não executa de forma alguma sem uma GPU compatível com NVENC; para mudar o codec ou o índice da GPU é preciso editar o comando diretamente.
SD+HD h264 (ID 3)
Seção intitulada “SD+HD h264 (ID 3)”ffmpeg -re -y -hide_banner -stream_loop -1 -i ${i} -gpu 1 -r 30000/1001 -g 8 -keyint_min 13 -preset fast -profile:v main -filter:v yadif -forced-idr 1 -c:v h264_nvenc -b:v 4M -c:a aac -b:a 128k -f mpegts ${o} -r 30000/1001 -g 8 -keyint_min 13 -preset fast -profile:v main -filter:v yadif -forced-idr 1 -vf scale=568:-1 -c:v h264_nvenc -b:v 1M -c:a aac -b:a 128k -f mpegts ${o}Um único processo ffmpeg com duas saídas ao mesmo tempo: um stream em resolução total a 4 Mbps e outro reduzido para 568px de largura (-vf scale=568:-1 - a altura é calculada automaticamente para preservar a proporção) a 1 Mbps. Ao criar um stream a partir deste perfil, o Senta mostra dois campos - Output #0 e Output #1, para a variante completa e a reduzida, respectivamente.
- Vantagens: um comando em vez de dois streams separados - evita decodificar a entrada duas vezes (ela é decodificada uma só vez para as duas saídas).
- Desvantagens: maior carga na GPU (as duas variantes são codificadas ao mesmo tempo), dependência total do NVENC e de
-gpu 1- o índice da GPU está fixo no comando, em vez de exposto como variável.
ACC (ID 4)
Seção intitulada “ACC (ID 4)”ffmpeg -readrate 1 -y -hide_banner -stream_loop -1 -vcodec copy -acodec aac -i ${i} ${o}Copia o vídeo sem recodificar e converte a trilha de áudio para AAC - útil quando o áudio da fonte está em um formato não suportado por um player ou CDN (AC3, por exemplo) e você não quer recodificar o vídeo.
- Vantagens: quase não usa CPU/GPU - apenas o áudio é recodificado.
- Desvantagens: o bitrate do AAC não é definido explicitamente, então vale o padrão do ffmpeg, o que pode surpreender; se o áudio da fonte já for AAC, este perfil não é necessário.
Logo adding (ID 5)
Seção intitulada “Logo adding (ID 5)”// Add a logo to the videoffmpeg -i ${i} ${logo} -filter_complex "[1][0]scale2ref=oh*mdar:ih*0.2[logo][video];[video][logo]overlay=(main_w-overlay_w)-${x}:${y}" -y ${o}WHERE[ { "desc": "logo", "data": { "name": "Logo path", "description": "Print the path to the image file with the logo", "command": "-i $value", "default": "" } }, { "desc": "x", "data": { "name": "Shift along the X axis", "description": "Offset from the top right corner along the X axis", "command": "$value", "default": "" } }, { "desc": "y", "data": { "name": "Shift along the Y axis", "description": "Offset from the top right corner along the Y axis", "command": "$value", "default": "" } }]Sobrepõe uma imagem (o logotipo) ao vídeo. O scale2ref primeiro redimensiona o logotipo conforme a altura do vídeo (ih*0.2 - 20% da altura do quadro, com a largura calculada automaticamente pelo scale2ref para preservar a proporção do logotipo); em seguida, o overlay o posiciona com um deslocamento x/y a partir do canto superior direito do quadro.
- Vantagens: o caminho e a posição do logotipo são definidos por variáveis, sem precisar mexer no comando.
- Desvantagens: o comando não tem
-c:v/-c:anem-f- o ffmpeg deduz o formato de saída pela extensão do arquivo em${o}(por exemplo,output.ts); se o destino for um endereço de rede sem extensão (udp://...), você precisará adicionar um formato por conta própria, por exemplo-f mpegts. O logotipo só pode ser ancorado no canto superior direito - para outra posição é preciso alterar a fórmula dooverlay.
Remove sound (ID 6)
Seção intitulada “Remove sound (ID 6)”// Remove sound from videoffmpeg -i ${i} -an -c:v copy ${o}Remove o áudio (-an - sem áudio) e copia o stream de vídeo sem alterações.
- Vantagens: quase instantâneo - o vídeo não é recodificado.
- Desvantagens: como o vídeo é uma cópia simples, este perfil não funciona se você também precisar mudar para um contêiner/codec incompatível com a fonte.
SIMPLE TESTCARD (ID 7)
Seção intitulada “SIMPLE TESTCARD (ID 7)”// Simple testcard with 8 color bars and 1kHz tone// You don't need any input file, just run itffmpeg -re -f lavfi -i pal100bars=size=1920x1080:rate=25 -c:v libx264 -g 12 -b:v 2M -f mpegts ${o}Gera uma imagem de teste - barras de cores PAL - por meio da fonte lavfi integrada do ffmpeg, sem nenhum arquivo de entrada.
- Vantagens: não precisa de uma fonte de vídeo real - você pode verificar o caminho Senta → rede → player em um minuto.
- Desvantagens: resolução, bitrate e taxa de quadros estão fixos no comando, não expostos como variáveis.
Static file streaming (ID 8)
Seção intitulada “Static file streaming (ID 8)”// Streaming a static fileffmpeg -re -stream_loop -1 -i ${i} -vcodec mpeg4 -aspect 16:9 -f mpegts ${o}Repete um arquivo local para simular uma fonte ao vivo - este é exatamente o perfil usado no exemplo do Início rápido.
- Vantagens: a forma mais simples de transformar qualquer arquivo em um stream de teste em execução contínua.
- Desvantagens: o codec (
mpeg4) é antiquado em comparação com h264/h265 e menos eficiente em bitrate; a proporção é fixa em 16:9, independentemente do vídeo real.