Perfis FFmpeg no Senta: modelos de comando
O que é um perfil?
Seção intitulada “O que é um perfil?”Um perfil é uma entidade no Senta que representa um comando para executar o programa ffmpeg, no qual parâmetros como os streams de entrada e saída, além de outros parâmetros definidos pelo usuário, são substituídos por variáveis.
Exemplo:
ffmpeg -re -stream_loop -1 -i input.ts -vcodec mpeg4 -aspect 16:9 -f mpegts udp://bla-bla:1234Este exemplo inicia um stream UDP com transmissão estática do arquivo input.ts para o endereço udp://bla-bla:1234.
Suponha que queremos usar o Senta para transmitir um arquivo estático. Podemos simplesmente adicionar uma linha aos perfis ou substituir os streams de entrada e saída por variáveis (${i} e ${o}, respectivamente), obtendo um perfil de transcodificação universal que pode ser reaproveitado em outros streams. O resultado é:
ffmpeg -re -stream_loop -1 -i ${i} -vcodec mpeg4 -aspect 16:9 -f mpegts ${o}Estrutura do perfil
Seção intitulada “Estrutura do perfil”Além do perfil comum com variáveis padrão como ${i} e ${o}, você pode adicionar algumas extensões ao seu perfil.
Você pode definir o NAME do perfil. Esse nome será usado, por exemplo, ao enviar o perfil para o github. É um campo opcional.
Exemplo:
ffmpeg -y -hide_banner -i ${i} -map 0:0 -map 0:1 -c:v h264_nvenc -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}NAME "HD h264"Em seguida, você pode adicionar variáveis personalizadas após a palavra-chave WHERE.
Exemplo
# Simple startup profile for HD h264 encoding# You can change it, fork it and share it with othersffmpeg -y -hide_banner -i ${i} -map 0:0 -map 0:1 -c:v h264_nvenc ${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}NAME "HD h264"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": "" } }]Nota: você pode adicionar linhas de comentário ao seu perfil começando-as com //
Perfis iniciais
Seção intitulada “Perfis iniciais”O Senta instala 8 perfis prontos logo após a primeira execução - o exemplo HD h264 mostrado acima é um deles. Uma descrição detalhada de cada comando e de suas flags está em Perfis iniciais.
Repositório de perfis
Seção intitulada “Repositório de perfis”Você encontra perfis prontos no repositório: https://github.com/cesbo/senta-streamer-profiles
Como adicionar ou modificar um perfil
Seção intitulada “Como adicionar ou modificar um perfil”Para adicionar seu perfil ou alterar um existente:
-
Faça um fork do repositório : Acesse https://github.com/cesbo/senta-streamer-profiles e clique no botão “Fork” no canto superior direito da página. Isso criará uma cópia do repositório na sua conta do GitHub.
-
Clone o seu fork : Abra o terminal (ou o Git Bash no Windows) e execute o comando
git clone https://github.com/your_username/senta-streamer-profiles, substituindo “your_username” pelo seu nome de usuário do GitHub. -
Crie uma nova branch : Entre no repositório clonado com o comando
cd senta-streamer-profilese crie uma nova branch comgit checkout -b add_profile, onde “add_profile” é o nome da sua branch. -
Adicione o seu arquivo : Coloque o arquivo do seu perfil no diretório /profiles do repositório clonado.
-
Adicione o arquivo à área de staging e faça o commit : Execute os seguintes comandos no terminal:
Terminal window git add profiles/your_file_namegit commit -m "Added profile: %your_file_name%"Substitua “your_file_name” pelo nome do seu arquivo.
-
Envie as alterações para o seu repositório no GitHub : Execute o comando
git push origin add_profile, onde “add_profile” é o nome da sua branch. -
Abra um Pull Request (PR) : Depois de enviar as alterações, acesse a página do seu repositório com o fork no GitHub. Lá você deverá ver o botão “Compare & pull request” para a sua nova branch. Clique nele.
-
Crie o Pull Request : Revise as alterações que deseja fazer, confirme que tudo está correto e clique no botão “Create pull request”.
-
Aguarde a revisão e o merge : Outros colaboradores do projeto podem revisar o seu Pull Request, deixar comentários ou solicitar alterações. Depois que o PR for revisado e aprovado, um dos mantenedores do projeto fará o merge da sua branch na branch principal.
Pronto! O arquivo do seu perfil agora deve estar adicionado ao repositório público.