Как разделить фильм и сыграть части, чтобы выглядеть целиком? - PullRequest
0 голосов
/ 22 мая 2010

Я пишу программное обеспечение, которое демонстрирует видео по запросу. Одна из этих функций похожа на IIS Smooth Streaming - я хочу настроить качество в соответствии с полосой пропускания клиента. Моя идея состоит в том, чтобы разделить один фильм на несколько, скажем, двухсекундных партий разного качества, а затем отправить его клиенту и воспроизвести. Дело в том, что, например, первая часть может быть очень высокого качества, а вторая - действительно плохой (если полоса кажется плохой). Вопрос в том, знаете ли вы какое-либо программное обеспечение, позволяющее точно вырезать фильмы? Например, ffmpeg разбивает фильмы таким образом, чтобы объединение было видимым и действительно раздражающим (секунды - это мера точности). Я использую qt + phonon в качестве игрока, если это имеет значение. Или, может быть, вы знаете какой-нибудь лучший способ предоставить такую ​​функцию, не разбивая фильм на части?

Ответы [ 2 ]

1 голос
/ 22 мая 2010

Вы уверены, точность ffmpeg в секундах?Вот выдержка из справочной страницы:

-t duration

Ограничение транскодированной / захваченной видеопоследовательности длительностью, указанной в секундах.Также поддерживается синтаксис «чч: мм: сс [.xxx]».

-ss position

Поиск заданной временной позиции в секундах.Также поддерживается синтаксис «чч: мм: сс [.xxx]».

-itsoffset offset

Установить смещение времени ввода в секундах.Синтаксис «[-] чч: мм: сс [.xxx]» также поддерживается.Этот параметр влияет на все входные файлы, которые следуют за ним.Смещение добавляется к временным меткам входных файлов.Задание положительного смещения означает, что соответствующие потоки задерживаются на «смещенные» секунды.

Похоже, что он поддерживает с точностью до миллисекунды, и, поскольку большинство видео не имеет +1000 кадров в секундуэтой точности более чем достаточно для точного поиска в любом видеопотоке.

1 голос
/ 22 мая 2010

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

А как насчет воспроизведения, если пользователь воспроизводит видео? Будет ли он пересчитывать качество при воспроизведении или вы создаете видеофайл во время потоковой передачи?

У меня нет опыта в области потокового видео, но чаще всего я вижу, что у провайдера есть несколько версий видео разного качества (от крайне низкого до HD), и они проверяют пропускную способность пользователя, а затем поток в соответствующем качестве.

(прошу прощения, если я неправильно понял вопрос.)

...