Похожие вопросы

Как изменить кодировку текста LibreOffice по умолчанию?
как создать лицензию ioncube.txt-файл для проекта
Excel сохранить поведение CSV-файла с кодировкой UTF8 против UTF8-Bom кодировки
Конвертирование 2 channel stereo g729 в индивидуальный одноканальный pcm кодированный файл
Как изменить свойство" кодировка по умолчанию " Sublime Text (версия 3.1.1, сборка 3176) с "UTF-8" на "ISO-8859-1"?
Исправлена кодировка немецких umlauts в каталогах и именах файлов (ü = U ê ê и так далее)
Конкатенация и повторное сжатие видео из командной строки?
Выяснение того, был ли аудиофайл FLAC или WAVPACK изначально закодирован не из источника с потерями
Может ли Notepad++ конвертировать несколько открытых файлов в ANSI (кодировку)?
Решения для видео и субтитров в Mac OS X
Как кодировать аудио-кодека Opus?
OpenSSL плохо расшифровывает между 0.9.8 o и 1.1.0 f
SQL Server Management Studio 2005-кодировка по умолчанию
При выполнении 2-х проходного кодирования видео с FFmpeg, как найти оптимальный битрейт?
Какую кодировку символов использует ODT?

Кодирование для плавного прямого и обратного воспроизведения видео

есть ли способ кодировать видео так, чтобы прямое и обратное воспроизведение было очень плавным? Возможно ли это в h264?

мое понимание основной структуры кодирования видео заключается в том, что если видео сделано из кадров

f1  f2  f3  f4  f5  f6  f7  f8  f9  f10 ...

, которые кодируются как

i1  d2  d3  d4  d5  i6  d7  d8  d9  d10 ...

здесь

i(k) == f(k), d(k) == f(k) - f(k-1)

ie i - это iframe и d это разница кадров, так что размер видео намного меньше, чем размер всех изображений (кадров) потому что дельты меньше целых кадров. Потом f8, Я поток и декодировать из ближайшего предыдущего iframe i6 и применить дельт.

поэтому/декодирования потокового цена за каркас идти вперед по стоимость объекта iframe. Но возвращаясь назад, можно сделать гораздо больше. Например, если на f6 Я хочу перейти к предыдущему кадру f5, мне нужно декодировать все из предыдущего iframe f1. Есть ли способ кодировать вещи, чтобы это не например, путем дополнительного хранения удобной (и как-то избыточной) информации f6 - f5 ?

Я знаком с ffmpeg и в идеале хотел бы его использовать.

мой вариант использования следующий:

Я потокового видео на мобильный клиент. Видео всегда приостанавливается, и пользователь ищет назад и вперед через ползунок. Отсталых ищу порой замирал, и я верю, что, когда он проходит через кадр и вернуться много и redecode чтобы добраться до предыдущего кадра. Вперед, это нормально.

5
задан Guig
источник

1 ответов

Кажется, что вы хотите использовать ключевой кадр для каждого кадра, чтобы не было прямого сжатия. Если каждый кадр хранится полностью (хотя и в сжатом виде), то стоимость перехода назад и вперед будет одинаковой (за исключением стоимости дополнительного пространства для хранения). M-JPEG это естественно, например.

С помощью H264 можно задать минимальное и максимальное расстояние между ключевыми кадрами (iframes) при использовании ffmpeg:

--keyint <integer> (x264)
-g <integer> (FFmpeg)
Keyframe interval, also known as GOP length. This 
determines the maximum distance between I-frames. 
Very high GOP lengths will result in slightly more 
efficient compression, but will make seeking in the 
video somewhat more difficult. Recommended default: 250 

--min-keyint <integer> (x264)
-keyint_min <integer> (FFmpeg)
Minimum GOP length, the minimum distance between I-frames. 
Recommended default: 25 

Если вы установите оба из них к 1, тогда это должно заставить iframe на кадр, и никакие прогнозирующие или кадры дельты.

2
отвечен Paul 2016-10-28 02:53:21
источник

Другие вопросы encoding ffmpeg video