O que faz
Pega um vídeo de origem e produz um corte vertical (9:16) com legendas queimadas. A saída é um único arquivo H.264/AAC pronto para plataformas de formato curto.
Pré-requisitos
ffmpegeffprobenoPATH- Acesso de leitura a
~/workspace/input - Acesso de escrita a
~/workspace/output
Verificar ambiente
Execute isto antes de qualquer outra coisa:
command -v ffmpeg && command -v ffprobe
Se algum estiver faltando, pare e informe: MISSING_DEP: ffmpeg. Não tente um
codificador alternativo.
Passos
-
Confirme que a origem existe:
test -f ~/workspace/input/source.mp4Se não existir, informe
MISSING_INPUT: ~/workspace/input/source.mp4. -
Examine as dimensões antes de tocar no arquivo:
ffprobe -v error -select_streams v:0 -show_entries stream=width,height \ -of csv=p=0 ~/workspace/input/source.mp4 -
Garanta que o diretório de saída exista:
mkdir -p ~/workspace/output -
Execute o corte:
bash scripts/cut.sh ~/workspace/input/source.mp4 ~/workspace/output/final.mp4 -
Confirme que o resultado é um arquivo real e informe seu caminho e tamanho:
ls -lh ~/workspace/output/final.mp4
Nunca presumir
- Nunca presumir que a entrada já está em 9:16 — sempre examine primeiro.
- Nunca presumir que
~/workspace/outputexiste — usemkdir -p. - Nunca sobrescrever uma saída existente sem confirmar com o usuário primeiro.
- Nunca presumir que a origem tem trilha de áudio — verifique com
ffprobe -select_streams a -show_entries stream=codec_type -of csv=p=0.
Saída
~/workspace/output/final.mp4 — H.264, 1080x1920, áudio AAC, -crf 20.
Tratamento de falhas
ffprobefalha → o arquivo não é vídeo válido. InformeBAD_INPUT.cut.shsai com código não zero → exiba seu stderr textualmente. Não tente novamente cegamente.- Saída com 0 bytes → informe
EMPTY_OUTPUTe pare.