'mencoder' получает 10 минут аудио меньше чем за 10 минут. Каким образом?

Я использую mencoder записывать аудио от Вызова на бис устройство видеосъемки ENLTV-FM3. Я недавно заметил, что, с тех пор одну неделю назад, когда машина была насильственно перезапущена из-за перебоя в питании, все записи немного передаются, они воспроизводят медленнее, чем они должны.

Я сузил проблему к следующей командной строке:

$ time mencoder -really-quiet -tv driver=v4l2:device=/dev/video1:chanlist=us-cable:audiorate=32000:alsa:adevice=hw.1:input=0:amode=1:normid=11 -endpos 00:10:00 -ovc copy -oac pcm -of rawaudio -o test-32000.wav  tv://69

real    9m54.886s
user    0m5.536s
sys    0m1.740s

$ ls -l test-32000.wav 
-rw-r--r--@ 1 martin  martin  76800000 Mar 15 17:20 test-32000.wav

Так или иначе, mencode управляемый для сбора точно ценности 10 минут необработанного аудио в 55 на 9 м. Это не физически возможно, если преобразователи устройства захвата изображения A/D не "разгоняются". Я не могу думать ни о каком другом объяснении помимо отказа оборудования. Это может быть? Могло случиться так, что что-то было записано во время перебоя в питании, и теперь внутренние часы устройства захвата изображения сошли с ума?

Начиная с перезапуска машины я также заметил dmesg лавинно рассылается записями как это:

CE: hpet increased min_delta_ns to XXX nsec

Которые, кажется, указывают, что таймер события высокой точности компьютера так или иначе вне синхронизации. Это имеет отношение к аудио проблеме? Может случиться так, что частота дискретизации аудио преобразователя связана с HPET? Я полностью потерян здесь. Кто-либо врезался во что-то подобное?

3
задан 15.03.2011, 20:41

2 ответа

Вы предоставляете минимальную информацию. Это не очень полезно. Необходимо обеспечить:

  1. Версия ядра
  2. Есть ли какое-либо удовлетворение требованиям заказчика? что такое .mplayer/config
  3. что такое min_delta_ns?
  4. каков вывод кошки/proc/timer_list

Вот мои предположения на основе этой ограниченной информации:

Один из ниже или комбинация:

  1. Обновления были применены на Вашу машину
  2. mplayer использует RTC вместо hpet.
  3. min_delta_ns больше, чем 3 000 000 национальной безопасности

Я думаю mplayer, использование RTC является самым вероятным случаем. Попытайтесь добавить к своим опциям во время кодирования и воспроизведения:

-rtc-device /dev/hpet

Попытайтесь вызвать и во время кодирования и во время воспроизведения.

Если это все еще не решает проблему, попытайтесь использовать

-rtc-device /dev/rtc

но это действительно не соответствует моему представлению Вашей проблемы.

2
ответ дан 08.12.2019, 01:06

Вы установили audiorate=32000, действительно ли Вы уверены, что это работает правильно? Карта на самом деле переключается на частоту дискретизации на 32 кГц? Составляет выходной файл 32 кГц? Что происходит, если Вы пробуете audiorate=33075 (который, кажется, следующий логический шаг между 22 050 и 44100.)

Возможно, что это - микропрограммная проблема или что-то нечетное в аппаратных средствах, которые не инициализировали правильно, но выполнение корректного завершения работы + выключаются, затем перезапуск должен зафиксировать это.

Иначе необходимо будет, вероятно, удалить - действительно тихий и видеть, существуют ли какие-либо полезные показанные предупреждения.

1
ответ дан 08.12.2019, 01:06

Теги

Похожие вопросы