Отсутствует звук и проблемы с воспроизведением FLV-видео, преобразованного из файла 720p .mov с помощью FFMPEG. - PullRequest
0 голосов
/ 19 февраля 2010

У меня есть несколько видеофайлов .mov, записанных с видеокамеры JVC GC-FM1 HD в режиме 720p. У меня есть FFMPEG, работающий на компьютере с Linux, куда я загружаю файлы для кодирования в формат FLV. Похоже, что видео кодируется нормально, но в полученном FLV-файле нет звука. Кроме того, при воспроизведении во Flash Player, браузере или Adobe Media Player видео останавливается в начале. Похоже, что Adobe Media Player ждет, пока индикатор выполнения не достигнет конца видео, прежде чем начать воспроизведение - то есть видео загрузится, изображение остановится, индикатор выполнения стремится к концу, как если бы видео воспроизводилось, затем, когда оно доходит до конца видео изображение начинается. На видео нет звука. Я заметил это в видеоплеере, который я построил с помощью Flash 8, используя компонент FLVPlayback и прикрепленный seekBar. Панель поиска начнет двигаться, как будто видео воспроизводится, но картинка остается в режиме паузы.

Вот некоторые выводы из моего журнала FFMPEG и команда, которую я использую для кодирования видео.

Моя команда FFMPEG вызвана из PHP:

$cmd = 'ffmpeg -i ' . $sourcelocation.$filename.".".$fileext . '  -ab 96k -b 700k \
-ar 44100 -s ' . $target['width'] . 'x' . $target['height'] . ' -ac 1 \
-acodec libfaac ' . $destlocation.$filename.$ext_trans .' 2>&1';

Вывод из моего журнала ошибок:

FFmpeg version UNKNOWN, Copyright (c) 2000-2010 Fabrice Bellard, et al.
built on Jan 22 2010 11:31:03 with gcc 4.1.2 20070925 (Red Hat 4.1.2-33)
configuration: --prefix=/usr --enable-static --enable-shared --enable-gpl \
--enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf \
--enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm \
--enable-libmp3lame --enable-libvorbis --enable-libx264
libavutil     50. 7. 0 / 50. 7. 0
libavcodec    52.48. 0 / 52.48. 0
libavformat   52.47. 0 / 52.47. 0
libavdevice   52. 2. 0 / 52. 2. 0
libavfilter    1.17. 0 /  1.17. 0
libswscale     0. 9. 0 /  0. 9. 0
libpostproc   51. 2. 0 / 51. 2. 0

Seems stream 0 codec frame rate differs from container frame rate: 119.88 (120000/1001) -> 59.94 (60000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'uploads/video/60974_v1.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    comment         : JVC GC-FM1
    comment-eng     : JVC GC-FM1
  Duration: 00:00:30.41, start: 0.000000, bitrate: 4158 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 4017 kb/s, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 128 kb/s
Output #0, rawvideo, to 'uploads/video/60974_v1.jpg':
    Stream #0.0(eng): Video: mjpeg, yuvj420p, 320x240 [PAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 59.94 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
[h264 @ 0x8e67930]B picture before any references, skipping
[h264 @ 0x8e67930]decode_slice_header error
[h264 @ 0x8e67930]no frame!
Error while decoding stream #0.0
[h264 @ 0x8e67930]B picture before any references, skipping
[h264 @ 0x8e67930]decode_slice_header error
[h264 @ 0x8e67930]no frame!
Error while decoding stream #0.0
frame=    1 fps=  0 q=3.8 Lsize=      15kB time=0.02 bitrate=7271.4kbits/s dup=482 drop=0    
video:15kB audio:0kB global headers:0kB muxing overhead 0.000000%

Какие здесь важные ошибки?

В картинке перед любыми ссылками, пропуская? Ошибка decode_slice_header? без рамки? или же Кажется, что частота кадров кодека потока 0 отличается от частоты кадров контейнера: 119,88 (120000/1001) -> 59,94 (60000/1001)

1 Ответ

1 голос
/ 26 марта 2010

Похоже, ваше выходное имя файла "uploads / video / 60974_v1.jpg" Попробуйте вместо "uploads / video / 60974_v1.flv"

ваш -acodec libfaac, вероятно, должен быть --enable-libfaac, но, поскольку в конфигурации: он уже там, пропустите указание libfaac.Удалите «-acodec libfaac» полностью

...