Любые хорошие программы для обработки фрагментов f4f и преобразования их в полное видео?

Я пытаюсь загрузить видео с сайта. К сожалению, они передают его как "фракции" типа f4f, и моя обычная программа "Download Helper" (расширение для Firefox) просто представляет мне бесконечный и растущий список фрагментов.

Итак, есть ли хорошие программы для

  • Загрузка фрагментов f4f из потокового видео (например, сохранение их как 0001, 0002, 0003 и т.д.).
  • Сшивание сохраненных фрагментов f4f вместе в один видеофайл

Я думаю, было бы лучше, если бы загрузчик был расширением для браузера (Firefox или Chrome). Было бы замечательно, если бы обе функции (загрузка и "сшивание" ) находились в одной программе (расширение браузера).

Ответ 1

То, что вы ищете, находится здесь: https://github.com/K-S-V/Scripts/blob/master/AdobeHDS.php

git clone https://github.com/K-S-V/Scripts.git

это предоставит вам Script/AdobeHDS.php

(время от времени вы можете xant сделать git pull для получения последней версии).

вы можете запустить script напрямую с файлом манифеста (до вас, чтобы найти документацию... некоторые намеки есть: http://forum.videohelp.com/threads/342430-F4F-capturing-converting

  • очень простой linux script:
#!/bin/bash

FIRST=1

# ( no real sample provided, up to you to find one )
URL_PREFIX=http://video-1-123.rutube.ru/hdsv2/Hq_BCp3Ohmd5dRp4DmgH5w/1411307589/7/n10vol1/a84bc722fed94812aa61f1b71510e953.mp4Seg1-Frag

while [[ $# > 0 ]]
do
    case $1 in
  first=*)
  FIRST=${1//first=/}
  ;;
  url=*)
  URL_PREFIX=${1//url=/}
  ;;
  name=*)
  NAME=${1//name=/}
  ;;
  *)
  echo "[ERROR] Unrecognized option '$1'"
  exit 1
  ;;
    esac
    shift 1
done

if [[ $URL_PREFIX =~ http://([^/]*/)*(.*) ]]
then
    echo "short : ${BASH_REMATCH[1]} ${BASH_REMATCH[2]}"
    SHORT_PREFIX=${BASH_REMATCH[2]}
fi



declare -i FRAG
FRAG=$FIRST

OK=0
while [[ $OK == 0 ]]
do
if [[ -f ${SHORT_PREFIX}${FRAG} ]]
then
    echo " Fragment #$FRAG already downloaded, on disk"
else
    wget ${URL_PREFIX}${FRAG}
    OK=$?
fi
FRAG=$(( $FRAG + 1 ))
done

if [[ -f $SHORT_PREFIX.flv ]]
then
    echo "$SHORT_PREFIX.flv already exists move it away if you want to restart a download + reassembly"
else
# should extract name from url.
    PHP скриптs/AdobeHDS.php --fragments $SHORT_PREFIX
fi

if [[ -n $NAME ]]
then
    echo "renaming $SHORT_PREFIX.flv to $NAME.flv"
    mv $SHORT_PREFIX.flv "$NAME.flv"
fi

запустите его с помощью . /getfrag.sh url = (URL-адрес первого фрагмента без окончания 1) name= (имя, которое вы хотите переименовать окончательный файл flv)

... и надежда.

Та же тема под SO: Как конвертировать F4F файл в MP4?

Ответ 2

Я использую упоминания KSV script philippe, но с помощью HDS Link Detector добавьте для FireFox. Я даю добавлению создать собственную команду, чтобы дать script, вставить ее в консоль и запустить script таким образом.

Я делаю это в окнах. Установка и настройка PHP (5.6.3) не занимала много времени, но столкнулась с небольшой проблемой с проблемой php_curl.dll.

Так как я не использую php для чего-либо еще, я работал над этой проблемой, просто создав каталог c:\php и скопировав и вставив % PHP_HOME%/ext/php_curl.dll в c:\php. Обратите внимание: для удобства я создал переменную среды PHP_HOME и установил ее в каталог установки php.

Ответ 3

Чтобы немного поработать над ответом на дополнение AdobeHDS.php + HDS Link Detector Firefox, я обнаружил, что я для некоторых видео получаю ошибку доступа, связанную с загрузкой обнаруженного над ним манифеста:

Processing manifest info.... Access Denied! Unable to download the manifest.

Это можно решить, обнаружив URL-адрес фрагментов с помощью URL Snooper, а затем загрузив их через дополнительный надстройку Firefox DownThemAll!. Затем, наконец, вы можете присоединиться ко всем фрагментам через AdobeHDS.php.

Пример:

  • Откройте URL Snooper, отфильтруйте Seg1-Frag, так как фрагменты файлов обычно следуют за структурой Seg1-Frag [i], где я представляет число, равное или большее, чем 1. Нажмите кнопку Sniff Network и начните воспроизведение потоковой передачи видео в вашем браузере. Вернитесь в URL Snooper, скопируйте URL-адрес обнаруженного фрагмента до... Seg1-Frag. Например:

    examplesite.net/programs/series/t6/c264,,.mp4.csmil/nameofvideo_Seg1-Frag

  • Далее, в Firefox перейдите к: Инструменты → DownThemAll! Инструменты → Менеджер. Нажмите кнопку + в верхнем левом углу, вставьте ранее скопированный URL-адрес в поле "Загрузка", а затем добавьте оценку диапазона количества фрагментов (например, [1: 2000]) в конце URL-адреса. Например:

    examplesite.net/programs/series/t6/c264,,.mp4.csmil/nameofvideo_Seg1-Frag[1:2000]

    Затем нажмите: Начать! → Загрузить пакет.

  • Наконец, слейте все фрагменты с помощью AdobeHDS.php:

    php AdobeHDS.php --fragments nameofvideo_Seg1-Frag