Любые хорошие программы для обработки фрагментов 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