18

У меня много файлов MPEG-TS (.Контейнер TS, но видео H.264) и воспроизведение в порядке, за исключением того, что когда вы пропускаете вперед / назад или вперед, это очень вяло и становится пикселированным и т.д.

Я пытался провести исследование, и я предполагаю, что они кодировали с очень небольшим количеством эталонных блоков (т. Е. Это захват из спутникового потока DVB-S).

Когда я перекодирую их с помощью ручного тормоза (.Контейнер MP4) они играют очень, очень хорошо, и поиск в видео происходит мгновенно и т.д. И т.д.

Можно ли перекодировать / перекодировать мои файлы MPEG-TS с минимальной потерей качества? Если так, то какая моя лучшая ставка? Каждый из них составляет около 2 Мбит / с (т.е. 2 ГБ в час), но я не хочу перекодировать их, если для "минимальной потери качества" требуется более 10 ГБ на файл. Я надеюсь сохранить видео такого же размера.

Кто-нибудь может дать мне какой-нибудь совет?

3 ответа3

21

Возможно, это проблема контейнера, копирование его в новый формат контейнера с

avconv -i input.ts -c copy output.mp4

вполне может решить вашу проблему. Это будет на 100% без потерь. Если это не сработает, CRF 18 обычно считается «визуально без потерь»; Вы можете установить это HandBrake (на вкладке «видео») или с помощью avconv:

avconv -i input.ts -c:a copy -c:v libx264 -crf 18 -preset veryfast output.mp4

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

ПРИМЕЧАНИЕ. Если вы хотите, ffmpeg может делать все, что может делать avconv, с идентичным синтаксисом (просто замените все экземпляры avconv на ffmpeg).

ПРИМЕЧАНИЕ: вы можете найти это руководство по кодированию ffmpeg x264 полезным для получения дополнительной информации.

7

Не вдаваясь в детали кодирования видео: не существует такой вещи, как "минимальная потеря качества", когда вашим ограничением является конкретный видеокодек (h.264) или определенная скорость передачи данных. Ограничивающий фактор всегда будет здесь - если бы был способ сохранить еще более высокое качество, это было бы, так сказать, святым Граалем кодирования видео.

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

Конечно, вы получите разные результаты, скажем, для XviD (простой кодер MPEG 4 Part II) и x264, самого современного на сегодняшний день кодера h.264. И тогда вы также можете попробовать купить кодер Mainconcept h.264 и посмотреть, приведет ли его использование к лучшему качеству при той же средней скорости передачи данных.

В кодировании видео вам все равно придется провести несколько испытаний, так как это также зависит от исходного материала. Футбольную игру будет сложнее закодировать, чем раунд игры в снукер. В x264 есть некоторые параметры, которые позволяют настраивать определенные типы, например, фильмы, например, с параметром -tune film в FFmpeg, но разница может быть минимальной.

Примеры и дополнительную информацию см. В FFmpeg: совершенный инструмент для манипуляции с видео и аудио.

1

Для моих синих лучей Если я кодирую файлы MPEG-TS, я использую высокий профиль ручного тормоза и использую вкладку «Дополнительно» со следующими настройками: RF 20

b-adapt=2:rc-lookahead=60:bframes=8:direct=auto:trellis=2:ref=16:subq=10:me=umh:merange=24:analyse=all

Кодирование занимает некоторое время, но качество трудно отличить от синего луча.

Если ваша цель того же размера, этого не произойдет, так как это другой кодек / сжатие. Размер файла и качество не одно и то же.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .