converter vídeo em áudio OGG resulta em duração incorreta de metadados

0

Estou convertendo o vídeo mpeg para o arquivo de áudio ogg usando a opção -vn:

ffmpeg -i video.avi -acodec libvorbis -vn sound.ogg

A saída:

ffmpeg -i video.avi -acodec libvorbis -vn -y sound.ogg
ffmpeg version 0.8, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jun 23 2011 14:21:12 with gcc 4.5.3
  configuration: --enable-gpl --enable-version3 --enable-memalign-hack --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  7. 0 / 53.  7. 0
  libavformat  53.  4. 0 / 53.  4. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, avi, from 'video.avi':
  Metadata:
    encoder         : Lavf54.25.105
  Duration: 00:00:10.03, start: 0.000000, bitrate: 269 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 505x404 [PAR 1:1 DAR 5:4], 25 tbr, 25 tbn, 25 tbc
    Stream #0.1: Audio: mp3, 44100 Hz, stereo, s16, 160 kb/s
Output #0, ogg, to 'sound.ogg':
  Metadata:
    encoder         : Lavf53.4.0
    Stream #0.0: Audio: libvorbis, 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
Press [q] to stop, [?] for help
size=      62kB time=00:00:10.02 bitrate=  50.3kbits/s
video:0kB audio:57kB global headers:4kB muxing overhead 1.072614%

video.avi tamanho original é 10,02 seg

Após a conversão ffmpeg -i sound.ogg indica que o tamanho é de 4,91 segundos:

ffmpeg -i alice10s.ogg
ffmpeg version 0.8, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jun 23 2011 14:21:12 with gcc 4.5.3
  configuration: --enable-gpl --enable-version3 --enable-memalign-hack --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  7. 0 / 53.  7. 0
  libavformat  53.  4. 0 / 53.  4. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, ogg, from 'sound.ogg':
  Duration: 00:00:04.91, start: 0.000000, bitrate: 102 kb/s
    Stream #0.0: Audio: vorbis, 44100 Hz, stereo, s16, 64 kb/s
    Metadata:
      ENCODER         : Lavf53.4.0
At least one output file must be specified

NB! O arquivo self sound.ogg dura 10 segundos se for reproduzido no player, nada é cortado.

As opções -q e -map não são suportadas na minha versão do ffmpeg que é 0.8

UPD: Parece que há problemas com o OGG na versão pré 1.x. Eu me pergunto se é possível trabalhá-los ao redor.

    
por WHITECOLOR 15.07.2013 / 18:57

1 resposta

1

Bem, com base nos comentários, o suporte do ogg é quebrado em sua construção antiga do ffmpeg.

Você precisa trabalhar de alguma forma; com um codificador ogg separado, ou algo assim.

Como um aparte, se você não tiver, você deve pedir ao seu provedor de hospedagem para instalar um novo ffmpeg. claramente este é borked.

    
por 18.07.2013 / 22:05

Tags