Use o ffprobe, assim.
ffprobe -i in.mov
Isso deve resultar em mostrar um campo "rotate:" em algum lugar da saída, se esse campo estiver presente no arquivo.
Se eu usar:
ffmpeg -i in.mov -vf "transpose=1" out.mov
todos os arquivos .mov
estão sendo alternados, mas o que preciso é detectar automaticamente apenas os vídeos girados e alterar a orientação apenas para esses vídeos.
Como posso detectar automaticamente a rotação ou orientação do vídeo durante o upload e girar, se necessário, para que todos os arquivos .mov
sejam reproduzidos na orientação correta? Como posso obter os metadados da rotação atual do meu vídeo?
Use o ffprobe, assim.
ffprobe -i in.mov
Isso deve resultar em mostrar um campo "rotate:" em algum lugar da saída, se esse campo estiver presente no arquivo.
Aplicado à sua pergunta, em termos concretos, você pode obter a rotação por:
ffprobe -loglevel error -select_streams v:0 -show_entries stream_tags=rotate -of default=nw=1:nk=1 -i in.mov
Legenda:
-loglevel error
: mostra apenas o campo de rotação, nenhuma outra informação.
-select_streams v:0
: processa o primeiro fluxo de vídeo (ignore se vários fluxos de vídeo estiverem presentes)
-show_entries stream_tags=rotate
: retorna as informações de rotação do vídeo de entrada
-of default=nw=1:nk=1
: use o formato de saída padrão e não mostre mais nada, ou seja, nenhum wrapper (nw) e nenhuma chave (nk)