Текущее время: 26 янв 2025, 14:59 • Часовой пояс: UTC + 3 часа |
SMPlayer в качестве программы просмотра ТВ под Linux
Автор | Сообщение |
WiseLord
|
|
Зарегистрирован: 28 май 2006, 22:41 Сообщения: 42
|
Автор SMPlayer - по моему мнению, лучшего qt4-фронтенда к mplayer, вчера начал работу над поддержкой ТВ/DVB в этом проигрывателе. Это, конечно, всего лишь графическая оболочка для mplayer, но жутко удобная. Поэтому если всё пойдёт без проблем, получится отличная программа для просмотра как видеофайлов, так и каналов с тюнера.
На текущий момент пока работает только собственно сам просмотр.
В ближайших планах - реализация настраиваемого меню для списка каналов.
|
|
|
gentoo
|
Добавлено: 25 июн 2009, 16:40. Заголовок сообщения: |
|
|
Зарегистрирован: 21 янв 2009, 09:31 Сообщения: 25
|
Отличная новость! Сам давно использую smplayer, но вот заставить mplayer показывать телек под ним и VDPAU (аппаратное ускорение x264 HDTV в картах NVIDIA) пока не получается. В консоли все хорошо.
З.Ы. А ты молодца, провёл его агитацию в поддержу не только dvb (как он собирался), но и под tv и radio.
Последний раз редактировалось gentoo 29 июн 2009, 16:19, всего редактировалось 1 раз.
|
|
|
WiseLord
|
Добавлено: 26 июн 2009, 07:51. Заголовок сообщения: |
|
|
Зарегистрирован: 28 май 2006, 22:41 Сообщения: 42
|
http://smplayer.berlios.de/forums/viewt ... 5887#p5887
Новости: появился простенький редактор каналов. Пока ещё нужно править конфиг mplayer вручную, чтобы занести туда нужные частоты, но уже всё стало очень и очень юзабельно.
|
|
|
WiseLord
|
Добавлено: 02 июл 2009, 16:24. Заголовок сообщения: |
|
|
Зарегистрирован: 28 май 2006, 22:41 Сообщения: 42
|
Итак, поддержка в SMPlayer реализована. Всё работает просто замечательно.
Выглядит это приблизительно так:
Автор SMPlayer большей частью пытался внедрить поддержку dvb (есть, например, автоматический импорт каналов из channels.conf), но и с обычным аналоговым ТВ всё работает очень даже хорошо.
Ниже - небольшое руководство о том, как настроить SMPlayer для работы с аналоговым тв-тюнером.
- Настройка mplayer
Во-первых, mplayer должен быть собран с поддержкой tv и radio. Это условие оставим на вашей совести. Во-вторых, необходимо правильно настроить mplayer. В файле ~/.mplayer/config необходимо прописать все принимаемые у вас каналы, и по необходимости привязать их к определённому стандарту цветности. Вот пример моего файла ~/.mplayer/config:
Код: tv=device=/dev/video0:driver=v4l2:norm=PAL #tv=immediatemode=0:alsa=1:adevice=hw.1,0:audiorate=32000:volume=100:forceaudio=1:forcechan=2:amode=1 tv=channels=R2-R2=SECAM,R4-R4=SECAM,R7-R7=SECAM,R10-R10=SECAM,R12-R12=SECAM,SR3-SR3,SR5-SR5,SR7-SR7,SR8-SR8=SECAM,SR11-SR11 radio=device=/dev/radio0:driver=v4l2 #radio=adevice=hw=1.0:arate=32000 #rawaudio=rate=32000 1 строка - общие параметры (вместо PAL можно указать SECAM, если таких каналов у вас больше); 2 строка (закомментирована) - нужна для передачи звука по шине PCI. Если эта функция нужна - нужно раскомментировать; 3 строка - список ТВ-каналов. Пожалуй, самая сложная и скучная часть настройки. Формат - КАНАЛ-НАЗВАНИЕ, если система цветности та же что указана в первой строке или КАНАЛ-НАЗВАНИЕ=СИСТЕМА, если отлична от неё. Здесь КАНАЛ - это стандартное обозначение канала (его соответствие частоте можно посмотреть, например, здесь), НАЗВАНИЕ - имя, под которым вы хотите этот канал видеть. Ограничения - нельзя использовать пробелы (вместо них можно использовать знак подчеркивания _), нельзя использовать русские буквы и нельзя начинать название с цифры. Упростить настройку этого пункта можно, попробовав воспользоваться скриптами для сканирования каналов, которые на выходе выдают список каналов в нужном формате (правда, без указания системы цветности). 4 строка - параметры радио; 5 и 6 строки (закомментированы) - нужны для передачи звука по шине PCI. Оно работает, но наблюдаются проблемы с синхронизацией аудио (в man mplayer про это сказано), поэтому я эту функцию не использую, слушая звук через аудиошнурок. После этих настроек mplayer уже сам по себе будет красиво воспроизводить ТВ, достаточно лишь запускать его как mplayer tv:// (откроет первую станцию из списка) или mplayer tv://НАЗВАНИЕ. При этом можно переключаться между каналами в списке кнопками H и K на клавиатуре, переключение сопровождается OSD с названием канала. Радио тоже будет работать, запускать так: mplayer radio://ЧАСТОТА (например, mplayer radio://105.1). Если вы хотите попробовать радио со звуком по PCI шине - запускать надо mplayer radio://ЧАСТОТА/capture
- Настройка SMPlayer
Здесь всё гораздо проще, достаточно прописать в соответствующих редакторах каналов нужные URL (кстати, в список радио вместо radio://107.1 никто не запрещает записать адрес потока интернет-радиостанции):
- Управление
ТВ-каналы переключатся клавишами H и L, каналы радио - Shift-H и Shift-L. Если настроен захват через PCI-шину, то работает регулятор громкости плеера, иначе - нет.
|
|
|
WiseLord
|
Добавлено: 16 июл 2009, 18:22. Заголовок сообщения: |
|
|
Зарегистрирован: 28 май 2006, 22:41 Сообщения: 42
|
Несколько замечаний/дополнений к предыдущему моему посту.
а) Автоматическое сканирование каналов
Можно воспользоваться вышеупомянутым скриптом для сканирования, но он не совсем нагляден для понимания. Поэтому можно поступить проще.
Запускаем mplayer в "подчинённом" (slave) режиме из любого графического эмулятора темминала:
Код: mplayer tv:// -slave -quiet -tv driver=v4l2:chanlist=russia:normid=4
Здесь chanlist=russia - российская сетка частот, normid=4 - выбор системы цветности (4=PAL) большинства передаваемых в вашем регионе каналов. При этом запустится окно mplayer с 1 каналом в сетке и консоль будет ожидать ввода управляющих команд. Вводим управляющую команду tv_start_scan в той же консоли: Код: tv_start_scan mplayer начинает сканирование и на выходе в итоге выдаёт список доступных каналов: Код: channels=4-ch1,SK3-ch2,SK5-ch3,SK7-ch4,7-ch5,SK11-ch6,SK13-ch7,SK14-ch8,SK15-ch9,SK16-ch10,SK17-ch11,S19-ch12 Копируем теперь исходные и полученные данные в файл ~/.mplayer/config: Код: tv=driver=v4l2:chanlist=russia:normid=4 tv=channels=4-ch1,SK3-ch2,SK5-ch3,SK7-ch4,7-ch5,SK11-ch6,SK13-ch7,SK14-ch8,SK15-ch9,SK16-ch10,SK17-ch11,S19-ch12 Если какие-то из каналов в вашей местности вещают в другой системе цветности, нежели большинство других, mplayer при сканировании может их пропустить, поэтому имеет смысл произвести сканирование для другого значения normid (13 для SECAM) для чего снова запускаем mplayer в slave-режиме и запускаем сканирование Код: mplayer tv:// -slave -quiet -tv driver=v4l2:chanlist=russia:normid=13 tv_start_scan mplayer снова выдаст на выходе строку со списком каналов, при этом он пользуется уже созданным файлом ~/.mplayer/config и новые найденные каналы помещает в конец строки: Код: channels=4-ch1,SK3-ch2,SK5-ch3,SK7-ch4,7-ch5,SK11-ch6,SK13-ch7,SK14-ch8,SK15-ch9,SK16-ch10,SK17-ch11,S19-ch12,2-ch13,3-ch14,SK8-ch15,6-ch16,10-ch17,12-ch18,27-ch19 Подредактируем конфиг, добавив новые каналы: Код: tv=driver=v4l2:chanlist=russia:normid=4 tv=channels=4-ch1,SK3-ch2,SK5-ch3,SK7-ch4,7-ch5,SK11-ch6,SK13-ch7,SK14-ch8,SK15-ch9,SK16-ch10,SK17-ch11,S19-ch12,2-ch13,3-ch14,SK8-ch15,6-ch16,10-ch17,12-ch18,27-ch19 Теперь можно запускать mplayer на просмотр ТВ командой mplayer tv://, переключение по списку каналов - клавишами H и L. Все найденные каналы по умолчанию будут показываться в режиме PAL (normid=4). Чтобы для определённых из них выбрать другую систему цветности, нужно дописать её в конфиг следующим образом: Код: tv=driver=v4l2:chanlist=russia:normid=4 tv=channels=4-ch1,SK3-ch2,SK5-ch3,SK7-ch4,7-ch5=SECAM,SK11-ch6,SK13-ch7,SK14-ch8,SK15-ch9,SK16-ch10,SK17-ch11,S19-ch12,2-ch13=SECAM,3-ch14=SECAM,SK8-ch15=SECAM,6-ch16=SECAM,10-ch17=SECAM,12-ch18=SECAM,27-ch19=SECAM Теперь mplayer полностью настроен. Можно дать каналам другие имена вместо ch1, ch2 и т.д., использовать при этом можно только латинские буквы и цифры (имя канала не должно при этом начинаться с цифры). б) Автоматическое включение/выключение нужного канала микшера.При просмотре ТВ с помощью mplayer/smplayer можно использоваться захват звука по PCI шине (в предыдущем моём посте есть пример). Но этот вариант чуть более "тормознутый", и кому-то больше понравится передавать звук по шнурку. В этом случае по окончании просмотра ТВ желательно приглушать соответствующую линию микшера alsa, чтобы избавиться от шума аналогового тюнера, и включать эту линию при начале просмотра ТВ mplayer-ом. Делать это вручную неудобно, поэтому можно использовать следущий скрипт: Код: #!/bin/sh v4l2here=$(echo "$@" | sed -e s/'.*\(tv\|radio\):\/\/.*'/'true'/) if [ ${v4l2here} == "true" ] then amixer sset "Loopback" on fi mplayer "$@" amixer sset "Loopback" off Здесь v4l2here - переменная, которая становится true, если в передаваемых скрипту параметрах встречается tv:// или radio:// В этом случае включается Loopback канал микшера (у вас это может быть CD, Line In и пр), по окончании воспроизведения он снова отключается. Этот скрипт можно назвать mplayereexec и поместить в /usr/local/bin и запускать просмотр ТВ как mplayerexec tv://. Нужная линия микшера будет включаться и отключаться когда нужно. Также, в настройках SMPlayer в качестве исполняемого файла вместо mplayer можно указать этот скрипт, и всё будет работать точно так же. в) Автоматическое применение фильтра crop для tv://Часто по краям картинки с аналогового тюнера бывает разного рода шум, который полезно отрезать фильтром crop. Можно эту настройку поместить в ~/.mplayer/config, Но тогда картинка будет обрезаться не только при просмотре ТВ, но и обычных видеофайлов. Решение - всё тот же скрипт mplayerexec. Приведём его к виду: Код: #!/bin/sh v4l2here=$(echo "$@" | sed -e s/'.*\(tv\|radio\):\/\/.*'/'true'/) if [ ${v4l2here} == "true" ] then amixer sset "Loopback" on mplayer "$@" -vf crop=688:516:16:12 else mplayer "$@" fi amixer sset "Loopback" off И немного изменим ~/.mplayer/config, указав исходные размеры видео: Код: tv=driver=v4l2:chanlist=russia:normid=4:width=720:height=540 tv=channels=4-ch1,SK3-ch2,SK5-ch3,SK7-ch4,7-ch5=SECAM,SK11-ch6,SK13-ch7,SK14-ch8,SK15-ch9,SK16-ch10,SK17-ch11,S19-ch12,2-ch13=SECAM,3-ch14=SECAM,SK8-ch15=SECAM,6-ch16=SECAM,10-ch17=SECAM,12-ch18=SECAM,27-ch19=SECAM
Теперь при просмотре ТВ будет как включаться нужная линия микшера, так и применяться crop фильтр к картинке (в данном случае из картинки 720x540 получаем картинку 688:516 путём обрезания 16 пикселов по горизонтали и 12 - по вертикали).
|
|
|
WiseLord
|
Добавлено: 16 июл 2009, 18:54. Заголовок сообщения: |
|
|
Зарегистрирован: 28 май 2006, 22:41 Сообщения: 42
|
Оптимизация интерфейса SMPlayer для более удобного просмотра ТВ.
По умолчанию панели инструментов SMPlayer выглядят так:
SMPlayer позволяет полностью настроить содержимое своих панелей инструментов. Для просмотра ТВ удобно будет добавить на главную панель инструментов кнопки ТВ и Радио. Также неплохим решением будет убрать Языковую панель (Настройка - панели), а вместо неё поместить более компактные кнопки, выполняющие те же функции.
Итак, отключаем языковую панель, закрываем SMPlayer, открываем в любимом редакторе файл ~/.config/smplayer/smplayer.ini и находим секцию [default_gui]
Добавляем в actions\toolbar1 нужные кнопки - separator, tv_menu, radio_menu, audiotrack_menu, subtitlestrack_menu
В результате SMPlayer будет выглядеть уже так:
Названия других полезных кнопок: speed_menu, videotrack_menu, screen_menu, videosize_menu, panscan_menu, aspect_menu, deinterlace_menu, videofilter_menu, rotate_menu, ontop_menu, audiotrack_menu, audiofilter_menu, audiochannels_menu, stereomode_menu, subtitlestrack_menu, titles_menu, chapters_menu, angles_menu, osd_menu.
В будущих версиях SMPlayer автор обещает графический интефрейс для настройки панелей инструментов.
|
|
|
Шниперсон
|
Добавлено: 17 июл 2009, 11:01. Заголовок сообщения: |
|
|
Зарегистрирован: 10 июн 2009, 20:20 Сообщения: 27
|
WiseLord писал(а): В будущих версиях SMPlayer автор обещает графический интефрейс для настройки панелей инструментов.
А в принципе возможно, во время показа тв, скрывать в gui кнопки плэй пауза стоп, кнопки пермотки, скролбар и заменять их кнопками - следующий канал, предыдущий канал .. в общем элементами управления тв (радио) или это нарушит какую-то логику?
Я понимаю что это не реализовано в SMplayer, но как возможность сделать future request автору?
|
|
|
WiseLord
|
Добавлено: 17 июл 2009, 17:23. Заголовок сообщения: |
|
|
Зарегистрирован: 28 май 2006, 22:41 Сообщения: 42
|
Идея интересная, пожалуй, действительно стоит feature request сделать.
|
|
|
Tim
|
Добавлено: 18 июл 2009, 00:35. Заголовок сообщения: |
|
|
Зарегистрирован: 06 май 2006, 23:14 Сообщения: 44
|
А переключать каналы цифрами нельзя? Если нет, то планируется ли?
Amd Athlon64 3500+; 5GiB RAM DDR2; GeForce 6600GT; 250Gb S-ATA2 HDD
|
|
|
WiseLord
|
Добавлено: 19 июл 2009, 12:33. Заголовок сообщения: |
|
|
Зарегистрирован: 28 май 2006, 22:41 Сообщения: 42
|
Вряд ли. В mplayer (и, соответственно, в smplayer) цифры используются для регулировки яркости/контрастности и т.п.
|
|
|
alex09
|
Добавлено: 17 сен 2009, 15:17. Заголовок сообщения: |
|
|
Зарегистрирован: 17 сен 2009, 15:11 Сообщения: 3
|
Звук захлебывается. Начинается - затухает, опять включится - опять ушел. В tvtime audio standart стоит как pal-dk или pal-bg, и с тем, и с тем нормально проигрывается, но хотелось бы возможности записи mencoder. Можно ли решить проблему со звуком?
|
|
|
alex09
|
Добавлено: 17 сен 2009, 17:58. Заголовок сообщения: |
|
|
Зарегистрирован: 17 сен 2009, 15:11 Сообщения: 3
|
С этим разобрался, надо SECAM-DK в norm писать, однако теперь идет два потока звука: один чуть менее тихий с небольшим опережением, второй - громче, получается периодически, что два звука перекрывают друг друга и что-либо понять невозможно.
Правда, mplayer tv:// не напрягает проц, а smplayer занимает до 30%. С чем это может быть связано?
Последний раз редактировалось alex09 18 сен 2009, 14:44, всего редактировалось 1 раз.
|
|
|
Linux
|
Добавлено: 18 сен 2009, 01:42. Заголовок сообщения: |
|
|
Beholder | |
Зарегистрирован: 19 авг 2004, 11:51 Сообщения: 396
|
Шнурок от тюнера на вход звуковой карты подключен? Впечатление, что звук приходит двумя путями, через PCI и через вход звуковой карты.
|
|
|
alex09
|
Добавлено: 18 сен 2009, 07:04. Заголовок сообщения: |
|
|
Зарегистрирован: 17 сен 2009, 15:11 Сообщения: 3
|
Да, закомментировал строчку про звук с PCI, и все стало нормально.
|
|
|
ssp43
|
Добавлено: 20 окт 2009, 10:31. Заголовок сообщения: |
|
|
Зарегистрирован: 18 сен 2007, 08:34 Сообщения: 21 Откуда: Москва
|
Привет всем!
Вот меня гложет вопрос - почему всё-таки mplayer не управляет указанным ему аудио-каналом, если сам не захватывает аудио??? Тот же tvtime управляет. Например, подключен тюнер к CD разъёму звуковой карты, стало быть нужно регулировать громкость именно этого канала, а он вообще не хочет управлять громкостью. Это неудобно для управления с пульта - приходится регулировать громкость как-то по-другому, а так же делать выбор - настраивать регулировку громкости в целом системы или каждой программы отдельно.
Было бы хорошо, если хотя бы SMPlayer регулировал бы заданный канал (включал/выключал/двигал бегунок).
СПАСИБО АВТОРУ!
В URL канала в редакторе каналов можно вместо НАЗВАНИЯ канала ставить его номер по порядку в списке каналов.
Интересно что, если передавать список каналов через командную строку, то русские буквы в названиях каналов использовать можно! Но при этом кол-во символов в названии ограничено (по-моему десятью знаками) .
И ещё: в SMPlayer-е не работает функция fullsceen через LIRC! Громкость работает, переключение каналов работает и многое другое, настроенное для mplayer в LIRC, а fullscreen - нет.
А так же глюки:
1. Не подставляет значение к параметру 'osdlevel' ("... -ss 367 -osdlevel -noslices ..."), как в линуксе, так и на винде. При этом mplayer иногда это съедает, но в основном ругается.
2. Добавляет фильтр и сразу очищает список фильтров - "... -vf-add screenshot -vf-crl ..." (фильтры добавленные после работают).
BeholdTV M6 Extra
|
|
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|