ffmpeg 0.5 flv в wav создает файлы wav, которые другие программы не открывают - PullRequest
2 голосов
/ 06 апреля 2010

Я использую следующую команду для преобразования FLV-файлов в аудиофайлы для передачи в программу julian, речь в текст.

cat  ./jon2.flv | ffmpeg -i - -vn -acodec pcm_s16le -ar 16000 -ac 1 -f wav - | cat - > jon2.wav

Кошки предназначены для отладки, так как в конечном итоге будет запущена программа, которая будет передавать FLV в стандартный поток ffmpeg, а стандартный вывод - в julian.

Полученные волновые файлы идентифицируются как «файл» как:

jon3.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 16000 Hz

VLC (на основе ffmpeg) воспроизводит файл, но никакие другие инструменты не открывают / видят данные. Они показывают пустые файлы WAV или не будут открываться / играть. Например Sound Booth из CS4.

У кого-нибудь еще были подобные проблемы? Джулиану нужны файлы wav 16 бит моно при 16000 Гц. Джулиан, кажется, читает файл, но, похоже, не просматривает весь файл (может быть не связан).

Спасибо

-rr

Ответы [ 2 ]

2 голосов
/ 25 февраля 2011

Попробуйте использовать ffmpeg непосредственно для работы с файлами ввода / вывода, вместо того, чтобы передавать данные в ffmpeg и из него:

ffmpeg -i INPUT_FILE.FLV -vn -acodec pcm_s16le -ar 16000 -ac 1 -f wav OUTPUT_FILE.WAV

Проблема может заключаться в том, что, поскольку вы передаете ffmpeg поток и просите его записать поток, он либо не знает длину входного потока, либо, что более вероятно, не может вернуться назад и переписать данные длины в заголовок выходного файла.

0 голосов
/ 02 сентября 2010

Возможно, проблема в том, что в RIFF байты с 4 по 7 хранят длину файла (в байтах), которая на момент записи еще не известна. Вероятно, VLC игнорирует значение из заголовка RIFF, позволяя воспроизводить его там, но не воспроизводить в другом месте.

Единственное решение, которое я нашел, было модифицировать цель так, чтобы она также игнорировала длину из заголовка RIFF.

Структура заголовка волнового файла описана здесь: http://www.sonicspot.com/guide/wavefiles.html

...