API для кодирования видео для HTML5 - PullRequest
1 голос
/ 22 июня 2011

Я хочу автоматизировать способы кодирования моих видео для воспроизведения в формате HTML5.Miro converter отлично справляется со своей задачей, но я хочу автоматизировать этот процесс.

Какие есть отличные платные / бесплатные API, которые можно использовать для кодирования?

Ответы [ 4 ]

2 голосов
/ 22 июня 2011

Хотя я не знаю ни одного сервиса, который кодирует все, что вам нужно, вы можете сделать свой собственный довольно просто. Для полной поддержки в Интернете всех браузеров html5 вам необходимо кодировать (как минимум) в 2 различных формата.

h264 поддерживается IE9, Safari, Mobile Safari (iPhone) и Android. (Я думаю, что Chrome может поддержать это, но не может в будущем. Политика.)

Theora поддерживается для Opera, Mozilla (Firefox) и Chrome.

Вы можете использовать ffmpeg для кодирования в оба эти формата, поэтому вполне возможно создать пакетный конвертер самостоятельно.

Вот несколько команд для начала работы:

ffmpeg -i input -pass 1 -vcodec libx264 -preset fast -b 512k -threads 0 -f mp4 -an -y /dev/null && ffmpeg -i [INPUT FILE] -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -preset fast -b 512k -threads 0 output.mp4

Это сделает двухпроходное кодирование в mp4 / aac h264. Поиграйте с опцией -b для увеличения и уменьшения битрейта (и размера файла). Опция -ab - это ваш звук, 128k должно быть достаточно, но если вы заметите, что он звучит плохо, вы можете попробовать использовать 256k.

Theora обычно сложнее настроить, но есть хороший инструмент под названием ffmpeg2theora, который немного упростит процесс конвертации. Его можно найти здесь: http://v2v.cc/~j/ffmpeg2theora/

использование немного проще, чем ffmpeg, что-то вроде этого: ffmpeg2theora -v 7 -a 3 [INPUT FILE], где -v - качество видео (из 10) и -a - качество звука (из 10).

в обоих примерах замените [INPUT FILE] на ваш ввод, например myvideo.avi.

Я рекомендую поиграть с обоими инструментами, чтобы почувствовать их, они оба мощные, и как только вы освоите их, вы легко их освоите.

Как только вы захотите создать для него файл пакетной обработки, один из самых простых способов сделать это - написать скрипт быстрой оболочки. Вот пример:

#!/bin/bash

# super simple batch video script

ffmpeg -i input -pass 1 -vcodec libx264 -preset fast -b 512k -threads 0 -f mp4 -an -y /dev/null && ffmpeg -i $1 -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -preset fast -b 512k -threads 0 output.mp4 && ffmpeg2theora -v 7 -a 3 $1

сохранить как, скажем, encode.sh.

затем сделайте его исполняемым: chmod 755 encode.sh

и запустите его с аргументом пути к видео: sh encode.sh "/path/to/video.avi"

Единственные вещи в этом сценарии, которые могут быть незнакомы:

#!/bin/bash - это говорит sh, чтобы запустить этот скрипт в оболочке bash.

$1 - это будет первый аргумент, передаваемый оболочке bash. В приведенном выше случае путь к видеофайлу.

&& - это говорит bash подождать, пока последняя команда будет выполнена, а затем продолжить. Таким образом, вы можете объединить много команд вместе.

Надеюсь, это поможет.

0 голосов
/ 06 марта 2015

http://www.bitcodin.com может генерировать контент MPEG-DASH и HLS, который может воспроизводиться в HTML5 в различных браузерах. Существует полный учебник по генерации контента: http://www.bitcodin.com/blog/2015/02/create-mpeg-dash-hls-content-for-amazon-s3-and-cloudfront/

Воспроизведение в HTML5 может быть выполнено с помощью проигрывателей JavaScript на основе HTML5, таких как http://www.dash -player.com . Существует также руководство по созданию контента MPEG-DASH с использованием x264 + MP4Box: http://www.dash -player.com / blog / 2014/11 / mpeg-dash-генерация контента-using-mp4box-and-x264 /

0 голосов
/ 19 июля 2011

Zencoder - это API облачного кодирования, который может работать со всеми форматами HTML5.

0 голосов
/ 22 июня 2011

FFMpeg - утилита командной строки, на которой основан Miro, так что вы можете начать с нее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...