LINUX.ORG.RU

mplayer и запись


0

0

Интересная проблема - после какого-то ядра еще аж в FC4 отвалилась возможность писать звук с TV.

Capture и Line выставлены в record, но mplayer видео пишет, а звук - нет. Естественно, при просмотре tv через mplayer звук тоже отвалился.

Методы борьбы?

P.S. FC5.

★★★★★

Откуда капчурится звук -- с тюнера или есть кабелёк-петля на звуковушку? Насколько помню, непосредственно с тюнера mplayer звук писать отродясь не умел.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

>>>непосредственно с тюнера mplayer звук писать отродясь не умел

По слухам умел. В alsa есть модуль snd-bt87x и btaudio в основной ветке ядра. Они, правда, работают на очень ограниченном числе чипсетов (остальным firmware требуется). Если у jackill именно этот случай, то можно предположить, что alsa не обновилась.

geekkoo
()
Ответ на: комментарий от geekkoo

> По слухам умел.

Действительно, научился (я в доки давно смотрел). Но, всё равно, работает (?) только на bt-чипах...

Jackill'у советую (если ещё не сделано) соединить line-out тюнера с line-in звуковухи. Решение работать просто обязано.

Побочным эффектом будет являться неистребимый рассинхрон, поскольку жёстко засинхронизировать меж собой тактовые генераторы тюнера и звуковухи попросту невозможно. Для "компенсации" рассинхрона программа захвата вынуждена делать ересь типа 25.001 fps вместо 25.000. В результате на компе всё замечательно, а как только начинаем делать dvd или (S)VCD, начинаются пляски с бубном в сопровождении шести напильников, дабы на железном плеере (который знает только 25, 23.976 или 29.97 fps) звук не убегал.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

>>>Для "компенсации" рассинхрона программа захвата вынуждена делать ересь типа 25.001 fps вместо 25.000.

Я записывал до 2 часов с телевизора именно в такой схеме и не замечал рассинхронизации. Правда, я и fps с точностью до тысячной не задавал ;) - ограничивался vbitrate ( http://www.linux.org.ru/jump-message.jsp?msgid=1387594#1387618 ) . А в fps есть какой-то смысл?

geekkoo
()

Попробуй работать не через v4l2, а через старый v4l.

no-dashi ★★★★★
()
Ответ на: комментарий от geekkoo

> Правда, я и fps с точностью до тысячной не задавал

Не вы задаёте fps, а программа захвата вынуждена подстраивать fps под аудио (обычно). Поскольку, как было сказано выше, тактовые генераторы засинхронизировать нельзя, длина (в смысле "час:мин:сек:фрейм) видео (если бы оно было с жёсткими 25 fps) и длина аудио (48кГц, 16 бит) не совпадут. Тогда хваталка вычисляет такой fps, чтобы эти длины совпали и прописывает новое значение в индексный блок avi-шки.

Как говорилось выше, _компьютерным_ плеерам это не страшно, они могут правильно играть и не такую погань. Проблема вылезает после перегона в mpeg и просмотра полученного dvd на _железном_ плеере.

Пляски с бубном заключаются в том, чтобы видео стало ровно 25 кадров в секунду, аудио -- 48кГц, 16 бит, при этом их длины были строго равны.

P.S. Упоминаемые 25fps -- для случая захвата PAL видео.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

>>Проблема вылезает после перегона в mpeg и просмотра полученного dvd на _железном_ плеере.

Спасибо за разяснения. Теперь понятно почему я не замечал расссинхронизации.

Но вместе с тем проблема все равно не до конца понятна. У вас есть avi с плавающим fps и нужно перевести его в mpeg с фиксированными частотами видео и аудио. Казалось бы проблема можно решить второй перекодировкой с resampled видео и аудио сигналом. Или это вы и называете танцами с бубном?

geekkoo
()
Ответ на: комментарий от geekkoo

Я в своё время сношался с Avermedia TVPhone98 + SBLive 5.1, нормально захватить кассету сразу "чисто" я так и не смог. И в raw хватал, и в mjpeg, и в nuppelvideo. Час захватил -- звук уехал секунд на пять, надо выправлять.

Причём бывает так, что N минут идёт синхронно, потом начинает разъезжаться, потом съезжается, потом опять идёт синхронно и так далее. Вот тут хоть стой, хоть падай. Сначала ВРУЧНУЮ составляешь "монтажный лист", с какого фрейма и куда поехало, потом режешь, подгоняешь куски, собираешь обратно. Это я и называю плясками с шаманским бубном и шестью напильниками. На час видео у меня уходило иной раз несколько недель (по три-четыре часа в день) на шлифовку.

[offtopic]

Лично я для себя эту проблему решил путём уменьшения частоты походов в кабак ;-) и покупки Pinnacle MovieBox DV и подключения к нему древнего Sharp 790ET (который в силу возраста кое-что ложил на Macrovision). Видак используется для оцифровки кассет и записи с эфира (у него неплохой тюнер).

Отныне, если кассета не запилена совсем в хлам, имею DV без дропов и рассинхрона (этим озабочена железяка). Руки прикладывать уже не надо: бегло прогнал в mplayer'е предпросмотр, засунул в скрипт-перекодировщик. Пока кодируется, наваял в DVDStyler менюшку, потом собрал образ, залил.

[/offtopic]

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

>Но, всё равно, работает (?) только на bt-чипах...

У меня работало на saa7134, захват шел с устройства /dev/dsp1, которое создается при инициализации модуля (по-моему достаточно было для этого ему указать oss=1). Таким образом звук работал без дополнительного кабелька в line-in звуковухи. А потом опцию эту отменили с какой-то версии ядра, теперь для этого существует отдельный модуль: saa7134-oss. Появился также модуль saa7134-alsa, тоже из той оперы:

modinfo saa7134-alsa |grep parm

parm: index:Index value for SAA7134 capture interface(s). (array of int)

parm: debug:enable debug messages [alsa] (int)

kvit
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.