Google Talk & Pidgin
За последние полгода видеозвонки по Skype прочно вошли в нашу жизнь: Маришка с удовольствием общается с бабушкой и дедушкой, которые живут в Мурманске. Но удовольствие от общения портится разрывами связи. То с одной, то с другой стороны пропадает видео, и остается одна голосовая связь. Раньше этого не было, а теперь случается с завидной регулярностью.
Достоверно не известно, что является причиной указанных проблем, но это повод попробовать конкурирующие технологии видеосвязи, например, Google Talk. В основе GTalk лежит открытый стандартный протокол XMPP, а значит для связи можно использовать любую из поддерживающих его клиентских программ. Это существенный плюс по сравнению со Skype с его закрытым проприетарным протоколом и клиентом под Linux, не обновлявшимся с 2009-го года (ходят слухи, что разработка клиента под Linux прекращена).
Итак, пробуем Google Talk. Как и следовало ожидать, сеанс видеосвязи между двумя GTalk’ами (на обоих концах Firefox + GTalk-плагин под Windows) прошел нормально. В принципе этот сценарий покрывает 80% наших потребностей. Однако остаются еще 20%: это видеозвонки с моего ноутбука, т.е. из-под Gentoo Linux. Тут-то, как обычно, и начинается самое интересное.
Задача-максимум — подключиться к GTalk из Pidgin. Последним я пользуюсь давно и с удовольствием. А радостная новость о том, что в Pidgin 2.6 добавлена поддержка аудио- и видеозвонков в GTalk, дала надежду на лучшее. Действительно, мой Pidgin 2.7.9 легко подключился к учетной записи и получил список контактов GTalk. Однако любая попытка начать видеочат намертво вешала Pidgin.
Да, это было бы слишком легко… Достаточно быстро нагуглились необходимые па с бубном:
-
обновить farsight2 (по совету отсюда; последняя доступная в Gentoo версия — 0.0.20);
-
установить media-plugins/gst-plugins-x264 (спасибо Empathy FAQ).
Стало лучше, и даже видео пошло… но… только в одну сторону. Pidgin видит видео от GTalk, но GTalk не видит видео от Pidgin. По логике, проблема должна быть с кодером x264, однако gst-inspect показывает, что x264enc присутствует:
$ gst-inspect-0.10 | grep 264 x264: x264enc: x264enc h264parse: h264parse: H264Parse rtp: rtph264pay: RTP H264 payloader rtp: rtph264depay: RTP H264 depayloader typefindfunctions: video/x-h264: h264, x264, 264 ffmpeg: ffmux_ipod: FFmpeg iPod H.264 MP4 format muxer ffmpeg: ffdec_h264: FFmpeg H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 decoder
К сожалению, проблему победить пока не удалось. Буду экспериментировать дальше.