dadv: (Default)
[personal profile] dadv

Firefox 3.5 под FreeBSD по умолчанию не воспроизводит потоковое видео с веба, ссылки на которое имеют вид типа mms://hostname/file или rstpt://hostname/file. Но к нему можно прикрутить и воспроизведение посредством внешнего плеера и сохранение записей. На примере протокола mms:// и проигрывателя mplayer, который понимает URL такого типа.

1. Создадим два простеньких shell-скрипта, один для воспроизведения, другой для сохранения файлов.
Первый, по имени mms-player, просто проигрывает файл с нужными опциями (в этом примере без опций):

#!/bin/sh
/usr/local/bin/mplayer "$1"

Второй, по имени mms-saver, сохраняет видео в подкаталог Downloads домашнего каталога:

#!/bin/sh

dir="$HOME/Downloads"
mkdir -p $dir
[ -d $dir ] || exit 1
fname=`basename "$1"`

xterm -T "Downloading $1" -e sh -c "
  /usr/local/bin/mplayer -dumpstream '$1' -dumpfile '$dir/$fname'
  read wait"

2. Самая большая проблема в том, что в Firefox 3.5 нет интерфейса для создания новой схемы mms:// (многочисленные рецепты на вебе касательно страницы about:config и настроек network.protocol-handlers.* не работают для 3.5). Поэтому первоначальная регистрация схемы выполняется вручную:
  • закрываем Firefox
  • любым файловым менеджером или просто в шелле переходим в каталог $HOME/.mozilla/firefox, там находим каталог профиля с именем типа gg0lbizh.default, а в нём файл mimeTypes.rdf, который открываем любым текстовым редактором.
  • ищем в нём строку about="urn:schemes:root", она там в одном месте. Нас интересует такой кусок файла:
      <RDF:Seq RDF:about="urn:schemes:root">
        <RDF:li RDF:resource="urn:scheme:mailto"/>
        <RDF:li RDF:resource="urn:scheme:irc"/>
        <RDF:li RDF:resource="urn:scheme:ircs"/>
        <RDF:li RDF:resource="urn:scheme:webcal"/>
        <RDF:li RDF:resource="urn:scheme:file"/>
      </RDF:Seq>
    
    добавляем в этот список строку <RDF:li RDF:resource="urn:scheme:mms"/>

  • непосредственно перед этим куском вставляем такую строку:
    <RDF:Description RDF:about="urn:scheme:mms" NC:value="mms"/>

    В итоге получаем в этом месте файла:
      <RDF:Description RDF:about="urn:scheme:mms" NC:value="mms"/>
      <RDF:Seq RDF:about="urn:schemes:root">
        <RDF:li RDF:resource="urn:scheme:mailto"/>
        <RDF:li RDF:resource="urn:scheme:irc"/>
        <RDF:li RDF:resource="urn:scheme:ircs"/>
        <RDF:li RDF:resource="urn:scheme:webcal"/>
        <RDF:li RDF:resource="urn:scheme:file"/>
        <RDF:li RDF:resource="urn:scheme:mms"/>
      </RDF:Seq>
    

  • сохраняем файл, закрываем его и запускаем Firefox
  • идём в меню Edit/Preferences/Applications и в списке наблюдаем строчку с mms в столбце Content type. В столбце Action выбираем Use other..., указываем там путь к нашему скрипту mms-player, затем ещё раз выбираем Use other... и указываем путь к mms-saver, в третий раз выбираем там Always ask.

Всё. Теперь при клике на адрес типа mms://hostname/file браузер спрашивает, что мы хотим - проиграть или сохранить файл.

From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org


 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

Profile

dadv: (Default)
Choose your future

June 2017

M T W T F S S
   1234
56 7891011
12131415161718
19202122232425
2627282930  

Tags

Style Credit

Powered by Dreamwidth Studios