Это команда ppmtompeg, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
ppmtompeg - кодирует битовые потоки MPEG-1
СИНТАКСИС
ppmтомпег [ кредита ] файл параметров
ОПИСАНИЕ
ppmтомпег создает видеопоток MPEG-1. param_file - это файл параметров, который включает
список входных файлов и другие параметры. Подробное описание файла приведено ниже. В
Параметры -gop, -combine_gops, -frames и -combine_frames являются исключительными. Этот человек
страница вероятно неполная. Для полного использования см. Руководство пользователя.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-stat стат_файл : заставляет кодировщик добавлять статистику в файл стат_файл. В
в любом случае статистика выводится на стандартный вывод. В статистике используются следующие
сокращения: бит на блок (bpb), бит на кадр (bpf), секунд на кадр
(spf) и бит в секунду (бит / с).
-тихо число_секунд : заставляет программу не сообщать оставшееся время по крайней мере
num_seconds секунд. Отрицательные значения говорят программе не отчитываться вообще. 0
по умолчанию (сообщает один раз после каждого кадра). Обратите внимание, что оставшееся время
оценка и не учитывает время на чтение в кадрах.
- очень тихо : заставляет кодировщик работать беззвучно, с единственным выводом на экран с ошибками.
Особенно полезно при чтении ввода со стандартного ввода.
-no_frame_summary : запрещает программе печатать итоговую строку для каждого кадра
-float_dct : заставляет кодировщик использовать более точный, но более затратный в вычислительном отношении
версия DCT.
-гоп gop_num : заставляет кодировщик кодировать только пронумерованную GOP (первая GOP равна 0). В
файл параметров такой же, как и для обычного использования. Выходной файл будет обычным
выходной файл с расширением ".gop. "Информация о последовательности не выводится.
-combine_gops : заставляет кодировщик просто объединять некоторые файлы GOP в один MPEG
транслировать. Вставляются заголовок / код последовательности. В этом случае файл параметров
должен содержать только значение YUV_SIZE, выходной файл и, возможно, список входных
Файлы GOP (см. Ниже).
-рамки первый_кадр последний_кадр : заставляет кодировщик кодировать только кадры из
от first_frame до last_frame включительно. Файл параметров такой же, как и для обычного
использование. Результат будет помещен в отдельные файлы, по одному на кадр, с файлом
имена, являющиеся обычным выходным файлом с суффиксом ".frame. "Нет Республиканской партии
выводится информация заголовка. (Таким образом, файл параметров не обязательно должен включать
Значение GOP_SIZE)
-объединить_кадры : заставляет кодировщик просто объединять несколько кадров в один MPEG
транслировать. Заголовки последовательности и группы изображений вставляются соответствующим образом. В этом случае
файл параметров должен содержать только значение YUV_SIZE, значение GOP_SIZE, вывод
файл и, возможно, список файлов фреймов (см. ниже).
-отлично : заставляет программу корректно запускать любые удаленные процессы. Это актуально, только если
программа использует параллельное кодирование. (см. «приятный человек».)
-max_machines количество_машин : заставляет программу использовать не более num_machines машин
в качестве ведомых устройств для использования в параллельном кодировании.
-снр : распечатать отношение сигнал / шум. Печатает SNR (YUV) и пиковое SNR (YUV) для каждого
Рамка. Таким образом, печатаются только средние значения яркости (Y). SNR определяется как
10 * лог (дисперсия оригинала / дисперсия ошибки). Пиковое отношение сигнал / шум определяется как
20 * журнал (255 / RMSE). Обратите внимание, что кодировщик будет работать немного медленнее, если вы хотите, чтобы он
распечатать SNR.
-мсе : вычисляет среднеквадратичную ошибку на блок. Также автоматически вычисляет качество
изображений при установке, поэтому нет необходимости указывать -snr тогда.
-bit_rate_info рейтинг_файл : печатает информацию о скорости передачи данных в файл rate_file. Битрейт
информация - это биты на кадр, а также биты на каждый кадр из I-кадра.
-mv-гистограмма : печатает гистограмму векторов движения как часть статистики. Есть три
гистограммы - по одной для векторов P, прямого B и обратного B. Каждая гистограмма представляет собой
Двумерный массив, и для каждого вектора в окне поиска есть одна запись.
ПАРАМЕТР ФАЙЛОВ
Файл параметров ДОЛЖЕН содержать следующие строки (кроме случаев использования -combine_gops
или опции -combine_frames):
ШАБЛОН
ВЫХОД
INPUT_DIR
все входные файлы должны находиться в этом каталоге. Если вы хотите сослаться на
текущий каталог, используйте '.' (пустое значение INPUT_DIR будет относиться к корню
каталог). Если входные файлы будут поступать со стандартного ввода, используйте
'stdin'.
ВХОД
За этой строкой должен следовать список входных файлов (в порядке отображения).
а затем линия
END_INPUT
Между INPUT и END_INPUT есть три типа линий. Во-первых, линия
может быть просто именем входного файла. Во-вторых, линия может быть
форма
[xy]
single_star_expr может содержать один символ "*". Его заменяют все
числа от x до y включительно. Так, например, строка
теннис * .ppm [12-15]
заменяется на Tennis12.ppm, tennis13.ppm, tennis14.ppm, tennis15.ppm.
Также происходит равномерное заполнение нулями. Например, строка
футбол. *. ppm [001-130]
заменяется на football.001.ppm, football.002.ppm, ..., football.009.ppm,
футбол.010.ppm, ..., football.130.ppm. Третий тип линии:
[x-y + s]
Где строка обрабатывается точно так же, как указано выше, за исключением того, что мы пропускаем s. Таким образом,
линия
футбол. *. ppm [001-130 + 4]
заменяется на football.001.ppm, football.005.ppm, football.009.ppm,
футбол. 013.ppm и т. д.
BASE_FILE_FORMAT
Все входные файлы должны быть преобразованы в YUV, JPEG (v4), JMOVIE, PNM или PPM.
формат. Эта строка указывает, какой из трех форматов (на самом деле PPM - это
подмножество PNM). Причина наличия отдельной опции PPM заключается в том, что
простота. Если ваши файлы являются файлами RAWBITS ppm, используйте опцию PPM
а не ПНМ. Кроме того, в зависимости от системы чтение файлов будет происходить намного быстрее.
быстрее с опцией PPM (в отличие от PNM).
INPUT_CONVERT
Вы должны указать, как преобразовать файл в базовый формат файла. в
команда преобразования, каждый символ '*' заменяется именем файла (перечисленные элементы
между INPUT и END_INPUT). Если преобразование не требуется, вы должны
просто скажи:
ВХОД_CONVERT *
Если бы у вас была куча файлов gif, вы могли бы сказать:
INPUT_CONVERT подарочных миллионных долей *
Если у вас есть несколько отдельных файлов aY, aU и aV, вы можете сказать:
INPUT_CONVERT cat * .Y * .U * .V
Преобразование ввода не допускается при вводе со стандартного ввода.
GOP_SIZE
n - это примерно количество кадров в группе изображений (примерно
потому что группа изображений должна начинаться с I-кадра)
SLICES_PER_FRAME
n - это примерно количество слайсов в кадре. Обратите внимание, хотя бы один MPEG
игрок может пожаловаться, если срезы не начинаются с левой стороны
изображение. Чтобы этого не произошло, убедитесь, что количество строк
делится на SLICES_PER_FRAME.
ПИКСЕЛЬ
использовать полупиксельные векторы движения или только полнопиксельные
ДИАПАЗОН
используйте диапазон поиска +/- n пикселей
PSEARCH_ALG
алгоритм должен быть одним из {ИСХОДНЫЙ, ДВУХУРОВНЕВЫЙ, ПОДНАБОР,
ЛОГАРИФМИЧЕСКИЙ}. Сообщает, какую процедуру поиска следует использовать для
П-образные рамы. Исчерпывающий дает наилучшее сжатие, но логарифмический
самый быстрый. Вы выбираете желаемое сочетание скорости и
сжатие. TWOLEVEL - это исчерпывающий полнопиксельный поиск, за которым следует
локальным полупиксельным поиском вокруг лучшего полнопиксельного вектора (
Параметр PIXEL игнорируется для этого алгоритма поиска).
BSEARCH_ALG
алгоритм должен быть одним из {SIMPLE, CROSS2, EXHAUSTIVE}. Говорит что
вид процедуры поиска следует использовать для B-кадров. Простые средства
найти лучшие прямые и обратные векторы, а затем интерполировать. Крест2
означает найти эти два вектора, а затем посмотреть, какой из обратных векторов лучше
соответствует лучшему прямому вектору, и наоборот. Исчерпывающий
n-квадрат поиск и ЧРЕЗВЫЧАЙНО медленный по сравнению с другими
(Cross2 примерно в два раза медленнее Simple).
IQSCALE
используйте n как qscale для I-кадров
PQSCALE
используйте n как qscale для P-кадров
BQSCALE
используйте n как qscale для B-кадров
REFERENCE_FRAME
Если указано ORIGINAL, то исходные изображения используются при
вычисление векторов движения. Чтобы быть более точным, используйте DECODED, в котором
используются декодированные изображения. Это должно повысить качество
изображение, но для кодирования потребуется немного больше времени.
Следующие строки необязательны:
FORCE_I_ALIGN
Эта опция актуальна только для параллельного выполнения (см.
ниже). Он заставляет каждый процессор кодировать блок из N
кадры, где N должно быть кратным длине шаблона.
Поскольку первый кадр в любом шаблоне является I-кадром, этот
заставляет каждый блок, закодированный процессором, начинаться с I-
Рамка.
Foo
ПРИМЕЧАНИЯ
Если BASE_FILE_FORMAT - YUV, то файл параметров должен содержать:
YUV_SIZE Икс
где w = ширина, h = высота (в пикселях) изображения и
YUV_FORMAT .
Дополнительную информацию см. В файле doc / INPUT.FORMAT.
Если используется опция -combine-gops, тогда необходимо указать только значения YUV_SIZE и OUTPUT.
указанный в файле параметров. Кроме того, файл параметров может указывать входную GOP.
файлы так же, как и обычные входные файлы, за исключением того, что вместо INPUT_DIR,
INPUT и END_INPUT используйте GOP_INPUT_DIR, GOP_INPUT и GOP_END_INPUT. Если нет входной GOP
файлы указаны, то по умолчанию используется имя выходного файла с суффиксом
".gop. "начиная с 0 в качестве входных файлов.
Если используется опция -combine-frames, то только значения YUV_SIZE, GOP_SIZE и OUTPUT
необходимо указать в файле параметров. Кроме того, файл параметров может указывать
файлы входных кадров таким же образом, как и обычные входные файлы, за исключением того, что вместо использования
INPUT_DIR, INPUT и END_INPUT используйте FRAME_INPUT_DIR, FRAME_INPUT и FRAME_END_INPUT.
Если файлы входного фрейма не указаны, по умолчанию используется имя выходного файла.
с суффиксом ".frame. "начиная с 0 в качестве входных файлов.
Между каждым параметром и значением может быть любое количество пробелов и табуляции. Начало строк
с '#' игнорируются. Любые другие строки игнорируются, кроме строк между INPUT и
END_INPUT. Это позволяет вам использовать один и тот же файл параметров для обычного использования и для
-combine_gops и -combine_frames.
Кодировщик чувствителен к регистру, поэтому, кроме имен файлов и каталогов, все должно
быть в верхнем регистре.
Строки могут располагаться в любом порядке, кроме следующих исключений. INPUT должен появиться
перед END_INPUT (также GOP_INPUT перед GOP_END_INPUT и FRAME_INPUT перед
FRAME_END_INPUT). Все строки между INPUT и END_INPUT должны быть кадрами в порядке воспроизведения.
Кодер готов обрабатывать до 16 кадров B между опорными кадрами при кодировании.
с вводом из стандартного ввода. Чтобы увеличить это количество, измените константу B_FRAME_RUN в
frame.c и перекомпилируйте.
ПАРАЛЛЕЛЬНО РАБОТА
Кодировщик может работать одновременно на нескольких машинах. Для этого добавьте строку "ПАРАЛЛЕЛЬНО" в
файл параметров, за которым следует список, по одному компьютеру в строке, затем "END_PARALLEL".
Каждая из линий должна быть в одной из двух форм. Если у машины есть доступ к файлу
server, тогда строка должна быть:
Исполняемый файл обычно ppmtompeg (вам может потребоваться указать полный путь, если вы
построены для разных архитектур). Если машина является удаленной, то строка
должно быть:
УДАЛЕННЫЙ
При описании исполняемых файлов и файлов параметров обычно следует использовать полные пути. Этот
ВКЛЮЧАЕТ файл параметров, указанный в качестве аргумента исходного вызова ppmtompeg. Также,
Файлы .rhosts на соответствующих машинах должны содержать соответствующую информацию.
Кодировщик будет использовать исходный компьютер для процессов главного сервера и сервера ввода-вывода, и
использует перечисленные машины в качестве подчиненных для выполнения вычислений.
Необязательные строки
RSH
Кодировщик использует команду удаленной оболочки для запуска процессов на других машинах.
Команда по умолчанию - «rsh». Если ваша машина поддерживает другую команду,
укажите это здесь.
PARALLEL_TEST_FRAMES
n - количество кадров для первоначального кодирования на каждом процессоре
PARALLEL_TIME_CHUNKS
впоследствии каждому подчиненному процессору будет предложено кодировать примерно t
секунд. Меньшие значения увеличивают коммуникацию, но улучшают балансировку нагрузки.
Значения по умолчанию для этих двух параметров: n = 3 кадра и t = 30 секунд.
ПАРАЛЛЕЛЬ_ПЕРФЕКТ
Если эта строка присутствует, то планирование выполняется в предположении, что работа
распределение будет идеально равномерным - это означает, что каждая машина примерно одинакова
скорость. Кадры просто будут равномерно разделены между процессорами. Этот
имеет преимущество очень минимальных накладных расходов на планирование, но, очевидно, неверно, если
машины имеют разную скорость или если сетевая нагрузка делает производительность неравномерной.
Версия
Это версия 1.5, она содержит новые функции и исправления ошибок, начиная с версии 1.3.
Используйте ppmtompeg в Интернете с помощью сервисов onworks.net