Рейтинг:0

Размер файла практически не изменяется при сжатии; Так ли работает сжатие (кодирование?), Как и ожидалось?

флаг jp

Ответил

Новичок здесь, эта доска помогла мне до сих пор, спасибо за это.

Моя сегодняшняя просьба к тем, кто более опытен в подобных вещах, указать на любые области, в которых я могу совершать ошибки, и особенно на то, должен ли конечный результат быть сюрпризом, учитывая шаги, которые я сделал. Моя цель — захват и архивирование потока.


Не стесняйтесь переходить к вопросу ниже, объяснение следует сейчас:

Небольшое замечание: для захвата потока я использую программу, которая автоматизирует процесс. А именно, его функция состоит в том, чтобы записывать, когда на канале есть активность, так как у меня нет знаний, чтобы написать какой-нибудь скрипт для автоматической проверки того, идет ли поток в прямом эфире или нет.

Исходный поток имеет тип контейнера MPEG-TS. То есть, используя приведенное ниже, мои полученные файлы имеют расширение .ts. Поскольку исходные (и выходные) параметры автоматически обрабатываются этой программой, я передаю эти аргументы в ее настройках параметров FFmpeg:

-c:v копия -c:a копия -movflags faststart -y -f mpegts

После переименования этого вывода вручную, скажем, в «file1.ts», я затем использую консоль и выполняю эту команду:

ffmpeg -i file1.ts -c:v libx265 -crf 16 -preset slow -pix_fmt yuv420p10le -c:a aac -b:a 192k date_10bit.mp4

Здесь я собираюсь перекодировать захваченный поток как файл HEVC/x265 внутри контейнера .mp4.

  • Я установил значение CRF на 16 по причинам, которые я собираюсь упомянуть ниже, но по сути я гонюсь за визуальной неразличимостью источника и готов заплатить цену размером (или я так думал)
  • По рекомендации некоторых пользователей предустановка настроена на замедление, по общему мнению, качество медленного x265 эквивалентно качеству среднего при использовании x264.
  • 10-битная глубина, из-за упоминания о том, что 10-битное сжатие лучше, я решил попробовать
  • Кодирование аудио в aac и 192k из общего интереса к более качественному аудио, где это возможно.

После многих часов работы результирующий файл не был визуально неразличим (не выглядел хуже из-за проблем с артефактами/движением, но я думаю, что 10-битная команда сделала изображение заметно более теплым) и был немного меньше исходного .ts I. началось с.

Это был суровый урок, который я как-то пропустил до сих пор, что любое перекодирование/сжатие (кроме CRF/QP 0?) всегда будет снижением качества по сравнению с «источником».

В конце дня, мой исходный файл был 5,5 ГБ. Кодирование x265 заняло весь день, и выскочил файл на 5,25гб. Я предполагаю именно из-за такого низкого CRF. Во всяком случае,


Теперь, когда мое путешествие объяснено:

Ожидается ли все это?

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

Спасибо, что нашли время прочитать.

Редактировать: Спасибо, Nmath, в комментариях!

guiverc avatar
флаг cn
Как это связано с этим сайтом? См. https://askubuntu.com/help/on-topic Информация об ОС, выпуске или продукте не предоставлена, так зачем спрашивать здесь?
Nmath avatar
флаг ng
Похоже, что ваш исходный файл уже закодирован/сжат, поэтому переключение на другую форму сжатия, вероятно, не сильно повлияет на размер файла.
ACuriousMind avatar
флаг jp
@guiverc Я внесу поправку по мере необходимости, но, увидев несколько сообщений на эту тему с таким же объемом раскрытой информации, я решил, что это безопасно. По общему признанию, большинство из них были из прошлых лет, возможно, произошли изменения в политике.
ACuriousMind avatar
флаг jp
@Nmath А, значит, вполне вероятно, что поток .ts, который я захватываю, исходит из уже сжатого источника?
Nmath avatar
флаг ng
Непонятно, как вы снимаете это видео, но видеофайлы почти всегда закодированы и сжаты. Поиск файлов MPEG-TS и `.ts` указывает на то, что формат сжат/закодирован.
ACuriousMind avatar
флаг jp
@Nmath Я полагаю, это имеет смысл, я должен был ожидать, что большинство, если не все потоковые сервисы, будут стремиться сжимать файлы перед их отправкой. Любопытно, однако, что если для эффективности потоковой передачи большая часть онлайн-контента уже сжата, мне интересно, какая практическая потребность в сжатии вне бизнеса DVD/Blu-Ray. Несмотря ни на что, спасибо!
andrew.46 avatar
флаг in
@ACuriousMind Возможно, было бы лучше опубликовать результаты вашего исходного файла захвата потока как: `ffmpeg -i stream_capture`, указав как команду, так и полный вывод терминала в вашем вопросе. Тогда можно с некоторой точностью подсказать подходящую командную строку для последующего преобразования...
флаг cn
Ray
Что касается вашего комментария о «практической необходимости сжатия [видео]», возможно, для обычного человека в этом нет необходимости. Но в Linux/Ubuntu (к счастью) есть эти инструменты, если они вам понадобятся. Но да, как уже упоминалось, вы не можете сжать сжатый файл. Если вы можете, то первый метод сжатия «провалился» (т. е. он не нашел всей избыточности, которую можно было бы найти).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.