TV TV вход В этой секции описывается, как включить просмотр/захват с V4L-совместимого TV тюнера. См. man страницу, для описания TV опций и кнопок управления. Компиляция Во-первых, Вам нужно перекомпилировать MPlayer, ./configure автоматически обнаружит заголовки ядра, относящиеся к v4l, и наличие /dev/video* устройств. Если они существуют, будет собрана поддержка TV (см. вывод ./configure). Убедитесь, что Ваш тюнер работает с другими TV приложениями под Linux, например XawTV. Советы по использованию Полный список опций доступен на страницах руководства (man). Вот всего несколько советов: Используйте опцию . Пример: -tv channels=26-MTV1,23-TV2 Объяснение: При использовании такой опции, будут использоваться только каналы 26 и 23, и, кроме того, будет приятный OSD текст при переключении между каналами, отображающий название канала. Пробелы в названиях каналов должны быть заменены символом "_". Выберите разумные размеры изображения. Размеры полученного изображения должны делиться на 16. Если Вы захватываете видео с вертикальным разрешением выше половины полного разрешения (т.е. 288 для PAL или 240 для NTSC), то получаемые вами 'кадры' на самом деле будут чередующимися[interleaved] парами полей. В зависимости от того, что вы собираетесь делать с видео, можно оставить их в таком виде, произвести разрушающую (с возможной потерей качества) построчную развёртку, либо разделить пары обратно в отдельные поля. Иначе Вы получите фильм с сильными искажениями в сценах с быстрыми движениями, и управление битпотоком, скорее всего, будет даже не в состоянии поддерживать необходимый уровень битпотока, поскольку артефакты чересстрочной развёртки создают огромное количество мелких деталей и поэтому отнимают большую часть полосы пропускания. Вы можете включить преобразование в построчную развёртку, используя . Обычно работает хорошо, но это уже субъективное мнение. Другие алгоритмы преобразования в построчную развёртку см. на man-странице и попробуйте их. Обрежьте пустое пространство. Когда вы захватываете видео, зоны по краям, как правило, черны или содержат просто шум. Это опять съедает часть битпотока. Точнее, это не сами чёрные зоны, а контрастный переход от чёрного к более светлому видео, но это сейчас не важно. Прежде чем Вы начнёте захватывать, подстройте аргументы опции , чтобы обрезать весь мусор по краям. Ещё раз, не забудьте сохранить получившиеся размеры изображения разумными. Отслеживайте загрузку CPU. Она не должна пересекать 90% границу большую часть времени. Если у Вас большой размер буфера захвата, MEncoder переживёт перегрузку в течение нескольких секунд, но не более того. Лучше отключить 3D OpenGL, хранители экрана и другую подобную гадость. Не меняйте системные часы. MEncoder использует системные часы для A/V синхронизации. Если Вы переведёте системные часы (особенно назад), MEncoder запутается, и Вы начнёте терять кадры. Это особенно важный вопрос, если Вы подключены к сети и используете какие-нибудь программы синхронизации времени, в духе NTP. Вы должны отключить NTP во время захвата, если Вы действительно хотите сделать хорошую запись. Изменяйте значение только если Вы знаете, что Вы делаете, или Ваши карта/драйвер не поддерживают значение по умолчанию (пространство цветов YV12). В старых версиях MPlayer/ MEncoder было необходимо выставлять нужное значение формата вывода. Эта проблема должна быть решена в текущих версиях и опция больше не требуется, поскольку значение по умолчанию подходит в большинстве случаев. Например если Вы будете захватывать в DivX, используя libavcodec и укажете для улучшения качества полученного изображения, то Вы увидите, что в действительности, изображение все равно будет перекодировано в YV12, поэтому все что Вы получите, это огромная загрузка CPU. Чтобы использовать пространство цветов I420 (), Вы должны указать опцию в связи с конфликтом fourcc с видео кодеком Intel Indeo. Есть несколько путей захвата аудио. Вы можете получить звук, либо используя Вашу звуковую карту и внешний кабель, соединяющий видео карту и линейный вход[line-in], либо используя встроенный АЦП на чипе bt878. В этом случае, Вы должны загрузить драйвер btaudio. Читайте файл linux/Documentation/sound/btaudio (в дереве ядра, не MPlayer'а) с некоторыми инструкциями по использованию этого драйвера. Если MEncoder не может открыть аудио устройство, убедитесь, что оно действительно доступно. Возможны некоторые трудности со звуковыми серверами, например arts (KDE) и esd (GNOME). Если у Вас полнодуплексная звуковая карта (почти все современные карты это поддерживают), и Вы используете KDE, попробуйте отметить галочку "full duplex" в меню настроек звукового сервера. Примеры Фиктивный вывод, AAlib :) mplayer -tv driver=dummy:width=640:height=480 -vo aatv:// Ввод со стандартного V4L: mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv:// Более изощрённый пример. Это заставляет MEncoder захватывать полное PAL изображение, обрезать края и изменить развёртку картинки на построчную, используя алгоритм линейного смешивания. Аудио сжимается до постоянного битпотока 64 кБ/с, используя LAME кодек. Эти установки подходят для захвата фильмов. mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\ -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \ -vf crop=720:544:24:16,pp=lb -o output.avi tv:// Здесь, изображение будет дополнительно масштабировано до 384x288 и сжато с битпотоком 350 кБ/с в режиме высокого качества. Опция vqmax даёт волю квантайзеру и позволяет компрессору видео действительно достичь столь низкого битпотока, правда ценой качества. Это может быть полезно для захвата длинных TV серий, где качество не особенно важно. mencoder -tv driver=v4l:width=768:height=576 \ -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \ -oac mp3lame -lameopts cbr:br=48 -sws 1 -o output.avi \ -vf crop=720:540:24:18,pp=lb,scale=384:288 tv:// Также возможно указать меньшие размеры изображения в опции и пропустить программное масштабирование, но приведённый подход использует максимальное доступное количество информации и чуть более устойчив к шуму. Чипы bt8x8 из-за аппаратных ограничений могут усреднять пиксели только по горизонтали. Телетекст На данный момент телетекст доступен только в MPlayer для v4l и v4l2 драйверов. Замечания реализации MPlayer поддерживает обычный текст, псевдографику и навигационные ссылки. К сожалению, цветные страницы поддерживаются пока не полностью - все страницы отображаются оттенками серого. Страницы с субтитрами (еще известные как Closed Captions) тоже поддерживаются. MPlayer начинает кешировать все страницы телетекста с момента начала просмотра TV, так что вам не потребуется ожидать загрузки интересующий страницы. Замечание: Использование телетекста с приводит к появлению странных цветов. Использование телетекста Чтобы включить декодирование телетекста, вы должны указать VBI устройство, из которого следует читать данные (обычно /dev/vbi0 в Linux). Это можно сделать, указав в вашем файле конфигурации: tv=tdevice=/dev/vbi0 Вам может потребоваться указать код языка телетекста для вашей страны. Чтобы получить список всех доступных языковых кодов, используйте tv=tdevice=/dev/vbi0:tlang=-1 Вот пример для Русского: tv=tdevice=/dev/vbi0:tlang=33