Как остановить Quicktime фильм на веб-странице от автоматической загрузки? - PullRequest
1 голос
/ 02 марта 2010

У меня есть два быстрых видеофайла, встроенных в одну веб-страницу. Я установил autoplay = "false", чтобы они не играли одновременно, но они все равно загружаются одновременно. Можно ли запретить их загрузку до тех пор, пока пользователь не нажмет кнопку воспроизведения?

autohref = "false" должен делать это, но, похоже, не работает.

Документация Apple для элемента EMBED

Ответы [ 3 ]

1 голос
/ 23 марта 2010

[НАЧАЛО РЕДАКТИРОВАНИЯ - 2010/03/30]

Проблема здесь, я думаю, в том, что нет никакого контроля, чтобы изменить поведение буферизации. Параметр AutoHREF относится к предварительной загрузке значения параметра href (или, возможно, HREF, встроенного в само видео?), А не к буферизации видео.

В настоящее время я использую модификацию этой техники на некоторых страницах и Javascript с Modernizr для динамической вставки различных видео-вставок в зависимости от поддержки браузера.

Я транскодирую свое видео в ogg / theora / vorbis следующим образом с VLC (на Mac; очень похоже на * nix) с битрейтом 1024 кбит / с для видео и битрейтом 128 кбит / с для аудио:

/Applications/VLC.app/Contents/MacOS/VLC \
  --rc-fake-tty -I dummy \
  ${original_video} \
  ':sout=#transcode{vcodec=theora,vb=1024,acodec=vorbis,ab=128,audio-sync}:standard{mux=ogg,dst=${ogg_file},access=file}' vlc://quit

И для перекодирования в MP4 / H.264 / AAC (те же битрейты) (при условии, что VLC поддерживает аудио M4A / AAC):

/Applications/VLC.app/Contents/MacOS/VLC \
  --rc-fake-tty -I dummy \
  ${original_video} \
  ':sout=#transcode{vcodec=mp4v,vb=1024,acodec=mp4a,ab=128}:standard{mux=mp4,dst=${m4v_file},access=file}:sout-transcode-soverlay=0' vlc://quit

(Лучше использовать оригинальное высококачественное видео, но это должно работать для любого формата VLC может декодировать.)

Я просто использую аудиоэлемент HTML5, если он доступен, и вот как я транскодирую mp3 в ogg / vorbis (используя lame и vorbis-tools ) в 128 кбит / с (VBR) и высокое качество:

lame --decode ${mp3_file} - \
  | oggenc -r -b 128 -q 9 -o ${ogg_file} -

и mp3 в m4a / AAC (с использованием lame и faac ):

lame --decode ${mp3_file} - \
  | faac -w -s -o ${m4a_file} -

(Конечно, было бы лучше использовать исходный необработанный PCM / WAV.)

(IANAL, но :) Важно отметить, что и H.264, и AAC находятся под патентом (и лицензирование непомерно). Есть некоторые опасения, что на Теору могут быть наложены так называемые подводные патенты, но в настоящее время она и Ворбис, кажется, не обременены.

[КОНЕЦ РЕДАКТИРОВАНИЯ]

Вы нашли ответ на это? Я вижу то же самое поведение. (Я предполагал, что имена параметров / атрибутов не чувствительны к регистру, так как даже документы Apple непоследовательно используют различные схемы регистров.)

В случае, если есть какая-то путаница, я думаю, что первоначальный спрашивающий (и я) хочет, чтобы фильм Quicktime вообще не загружался, пока пользователь не нажмет кнопку «воспроизведение». У меня есть несколько видео на одной странице, и вряд ли пользователь будет просматривать их все; Я не хочу, чтобы они загружались до тех пор, пока они явно не будут запрошены. Параметр "autohref" должен обеспечивать это поведение, если задано значение "false", но, по крайней мере, в Firefox 3.6 с плагином Quicktime 7.6.3 в Mac OS 10.6.2 он не работает.

<object
    classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
    codebase="http://www.apple.com/qtactivex/qtplugin.cab"
    width="332"
    height="184"
    id="video-0"
>
    <param name="src"                    value="video/sony-ps3.mov" />
    <param name="AllowEmbedTagOverrides" value="True" />
    <param name="AutoPlay"               value="False" />
    <param name="AllowEmbedTagOverrides" value="True" />
    <param name="AutoPlay"               value="False" />
    <param name="AutoHREF"               value="False" />
    <param name="EnableHREF"             value="False" />
    <param name="EnableJavascript"       value="True" />
    <param name="ShowLogo"               value="False" />
    <param name="Volume"                 value="60" />
    <param name="wmode"                  value="transparent" />

    <embed
        width="332"
        height="184"
        src="video/sony-ps3.mov"
        type="video/quicktime"
        pluginspage="www.apple.com/quicktime/download"
        name="video-0"
        AllowEmbedTagOverrides="True"
        AutoPlay="False"
        AutoHREF="False"
        EnableHREF="False"
        EnableJavaScript="True"
        ShowLogo="False"
        Volume="60"
        wmode="transparent"
    ></embed>
</object>
1 голос
/ 13 мая 2011

Я еще не пробовал это, но, может быть, это сработает, это первое в списке autohref="false"

http://web.mac.com/studybuddys/iWeb/studybuddys/12%20Multimedia_files/06%20Apple%20QT%20Embed%20Tag%20Attributes.pdf

Я пытаюсь сделать это для аудио (не загружать его, пока не нажата кнопка воспроизведения), но у меня нет значения href, все, что у меня есть, это значение src

ps - я только что заметил в вашей первоначальной публикации, что вы сказали, что autohref="false" должен делать это, но не работает

Полагаю, я просто добавлю, что у меня просто есть значение src и нет значения href. Я пытаюсь найти тот же ответ, но со звуком

0 голосов
/ 04 марта 2010

Зависит от того, как вы вставляете фильмы в формате QuickTime. Но это должно уважать флаг автозапуска. Просто вставив это в тег, я буду работать, но я думаю, что это неправильный способ сделать это. Вы сделали это как код ниже?

<object width="160" height="144"
classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
codebase="http://www.apple.com/qtactivex/qtplugin.cab">
<param name="src" value="sample.mov">
<param name="autoplay" value="false">
<param name="controller" value="false">
<embed src="sample.mov" width="160" height="144"
autoplay="false" controller="false"
pluginspage="http://www.apple.com/quicktime/download/">
</embed>
</object>

Обновление

Или вы имеете в виду, что фильмы не воспроизводятся при загрузке страницы, но оба начинают воспроизводиться, когда пользователь взаимодействует с одним из них? В последнем случае, вероятно, было бы лучше установить изображение-заполнитель, по которому пользователь может щелкнуть, а затем загрузить соответствующий контент, вместо загрузки обоих апплетов одновременно. Для этого нужно меньше ресурсов, потому что машине конечного пользователя нужно будет загрузить плагин QuickTime только после того, как пользователь активирует определенный фильм.

...