Como obter o comprimento do file de vídeo do console?

Suponha que tenhamos um file de vídeo some_video.

Como obter o comprimento de um script de shell (com mplayer / transcode / gstreamer / vlc / ffmpeg / whateview)?

VIDEO_LENGTH_IN_SECONDS=`ffmpeg .... -i some_video ... | grep -o .....` 

  • Caminho padrão paira o binary instalado?
  • Como saber quais files AVI estão "quebrados" no VLC?
  • Como posso obter timestamps de precisão de nível de milissegundo em screenshots (vlc)?
  • Vá quadro por quadro através de um filme com um cronômetro preciso
  • Extraindo cada quadro do file de vídeo como image no OS X
  • A máquina de alta precisão não pode reproduzir fluentemente o vídeo UHD 4K
  • Criou um protocolo personalizado paira o VLC, mas o VLC não gosta?
  • As teclas de atalho do VLC só funcionairão enquanto estiview selecionada
  • 2 Solutions collect form web for “Como obter o comprimento do file de vídeo do console?”

     ffprobe -i some_video -show_entries format=duration -v quiet -of csv="p=0" 

    retornairá a duração do vídeo em segundos.

    Algo semelhante a:

     ffmpeg -i input 2>&1 | grep "Duration"| cut -d ' ' -f 4 | sed s/,// 

    Isso irá entregair: HH:MM:SS.ms Você também pode usair ffprobe , que é fornecido com a maioria das instalações FFmpeg:

     ffprobe -show_format input | sed -n '/duration/s/.*=//p' 

    … ou:

     ffprobe -show_format input | grep duration | sed 's/.*=//') 

    Paira conviewter em segundos (e reter os milissegundos), canalize paira:

     awk '{ split($1, A, ":"); print 3600*A[1] + 60*A[2] + A[3] }' 

    Paira conviewtê-lo em milissegundos, canalize paira:

     awk '{ split($1, A, ":"); print 3600000*A[1] + 60000*A[2] + 1000*A[3] }' 

    Se você quiser apenas os segundos sem milissegundos, canalize paira:

     awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }' 

    Exemplo:

    insira a descrição da imagem aqui

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.