LINUX.ORG.RU

Несколько вопросов про рипы

 ,


2

2

Не нашёл какого-то вменяемого руководства или отдельных ответов на вопросы. Какая-то одна ерунда из пары действий или целая энциклопедия по кодекам. Ссылки приветствуются.

Ну, во первых, наверно: в чем под линуксом делать рипы с двд и бд образов?

Я пока попробовал avidemux, но возникает несколько проблем и вопросов:

  • Можно как-то в нём сделать заставочку\менюшку на несколько секунд с музыкой, как оно заложено в образе? Открыть образ-то оно открывает, а вот эти заставки и меню не воспринимает, просто проигрывает их за какие-то миллисекунды или пропускает.
  • Не сохраняет информацию о сценах, то есть если в smplayer перематывать видео, то должна быть видна разбивка на сцены, вместо этого одна сплошная полоса перемотки, это как-то можно сделать?
  • Есть настройки кодирования, но в них или пресеты для 264 кодека (slow, fast...) и дополнительные, типа film, ssim, и ещё всякое - это хорошо, что они есть, но какого фига из-за этого отрубается тонкая настройка, даже не отображается и reframes выкручивается на 16? Если не использовать пресеты, то доступны куча дополнительных настроек, но не представляю, как в них разбираться, до фига, блин.
  • Я тут уже накодировал на veryslow, вроде, нормально, но вот вначале не знал и внимания на обратил, что reframes 16, насколько это проблема или не проблема уже давно? Лично у себя-то на ПК или смартфоне проблем не вижу.
  • На 265 кодек сейчас внимания не обращать? Я пробовал, но результат какой-то мыльный и очень медленно, ну, на slow не так уж и медленно, но результат заметно хуже 264 на veryslow.
  • Контейнер любой использовать?
  • Для аудио только аас? Чо-то всего его используют, прям лучше ogg? Или если в самом образе ac3 с всего лишь с 192 kbps, то лучше его и оставлять?
  • При кодировании с yadif иногда вверху полоска может появляться, как забороть интерлеисинг?

Кстати, с wmv файлами avidemux работает с багами, пробовал просто объединить несколько частей, которые были одинаково закодированы, так после этого при перемотке артефакты на видео пошли и при создании скринов тоже. Объединял без перекодирования. Некоторые видео и аудио (не образы) оно не переваривает, то звук свистел с какого-то жирного bd-аудио, то с видео какая-то ерунда, забыл уже, а smplayer их нормально играет.


С DVD рипал тупо кодируя ffmpeg'ом VOB файлы. Иногда вовсе не перекодировал, а просто упаковывал в один mkv с помощью mkvmerge.

Что там лежит на дисках блю рея не знаю, ни разу их в руках не держал, но я бы сперва попробовал бы тем же методом.

Deleted ()

Сейчас обретает популярность кодек x265 10-bit, возможно, в скором будущем все пересядут на него с x264, как когда-то с DivX/XviD. В плане качества звука сейчас лидирует Opus, обогнав Apple AAC. Контейнер, как и прежде - MKV не имеет прогрессивных альтернатив.

Quasar-Napilnik_CPY ()
Ответ на: комментарий от Ros

А что по вашему нормальный деинтерлейс? QTGMC? В Handbrake есть Yadif, вполне приличный деинтерлейсер. Еще Handbrake умеет делать IVTC. Но нужно разобраться с правильной настройкой. DVD открывает, в том числе защищенные через libdvdcss, главы сохраняет. Звук лучше жать в Opus и только, если экономия битрейта большая получится.

anonymous ()
Ответ на: комментарий от Quasar-Napilnik_CPY

В плане качества звука сейчас лидирует Opus

Лидирует только в качестве звука на битрейтах ниже среднего, но это имеет смысл только для интернет-стриминга. На средних битрейтах и выше vorbis по прежнему лучше, ЕМНИП (я как-то сравнивал). Да и opus пока мало где поддерживается, так что не надо тут про лидерство. Если делается не для себя, оптимальный вариант h264+aac. Или вовсе не перекодировать, а просто упаковать в mkv, чтобы не терять качество.

Deleted ()
Ответ на: комментарий от Quasar-Napilnik_CPY

10-bit

Я как-то кодил в 10 бит, правда в x264. При том же битрейте и preset, по сравнению с 8 бит, качество ужасное, жуткий бандинг. Не понимаю почему так.

anonymous ()
Ответ на: комментарий от Quasar-Napilnik_CPY

Apple AAC я изначально невзлюбил (спектры у него хорошие, правда), предпочитаю fdk. Как-то я кодил аудиокнигу голосового движка 22 kHz, 16 bit, 1 ch в 33 kbps. У Nero звук был резкий, у Apple склизлый (как низкобитрейтные mp3, а это еще хуже, чем резкость), у fdk вроде поприятнее. Так я и сделал выбор, интерполировав результаты на обычные битрейты.

anonymous ()
Ответ на: комментарий от anonymous

А что по вашему нормальный деинтерлейс? QTGMC?

Должен быть он. Только попробуй заведи его на онтопике, а негде.

В Handbrake есть Yadif, вполне приличный деинтерлейсер

Может быть для PAL, не знаю, но с NTSC выходит дрянь с кучей артефактов и эффектом призрака.

Ros ()
Ответ на: комментарий от Ros

Только попробуй заведи его на онтопике

Говорят заводится в Vapoursynth. Или Avisynth в CrossOver (Wine), в соседней теме есть ссылка на сборку.

с кучей артефактов и эффектом призрака

Если интерлейс нормальный (не транскоды или допы с DVD какие-нибудь), то Yadif хорошо справляется. Артефакты и призраки значит там Hard Telecine или транскод PAL<>NTSC. В случае HT надо делать IVTC. В случае транскода, или деинтерлейсить в двойную частоту 50p или 59.94p соответственно (ни в коем случае не в 29.97!) или восстанавливать исходную fps 23.976 или 25 с помощью SRestore Avisynth. Тогда удобнее использовать XviD4PSP 5 в Windows 7 (на рутрекере есть обсуждение и ссылки), но можно плагины из нее в Линуксе под Wine.

anonymous ()
Ответ на: комментарий от Quasar-Napilnik_CPY

Тогда не любой AAC, вдруг у него faac, а хотя бы Nero AAC (если уж не Apple AAC)

Здесь та же ситуация что и с opus: всякие nero aac, HE-AAC (HE-AAC v2) для битрейтов ниже среднего. Средние и высокие битрейты кодируются в AAC-LC.

Deleted ()
Ответ на: комментарий от Quasar-Napilnik_CPY

То что в ffmpeg кодирует при указании просто -c:a aac это не faac в нормальной сборке. Libfaac значится deprecated, как сказано по ссылке. Это из собственный встроенный кодек, чуть хуже libfdk, но лучше faac: The native FFmpeg AAC encoder. This is currently the second highest-quality AAC encoder available in FFmpeg and does not require an external library like the other AAC encoders described here. This is the default AAC encoder.

Deleted ()
Ответ на: комментарий от Quasar-Napilnik_CPY

ffmpegовский aac уже довольно хорош, только очень медленный на больших битрейтах.

HE-AAC? Оно же убивает звук
Всего на микрокапельку больше чем opus

Ничего себе. HE-AAC слушать невозможно. А Opus на 64 kbps не отличить от оригинала с полной честной частоткой.

anonymous ()
Ответ на: комментарий от Deleted

Я бы пренебрег не-лучшими средствами при создании рипа, а особенно, если исходник планируется удалять. С торрентов сейчас даже BDRemux какого-нибудь Бэтмена, с которого все ссались кипятком лет 5 назад не скачать

Quasar-Napilnik_CPY ()
Ответ на: комментарий от Deleted

nero aac, для битрейтов ниже среднего. Средние и высокие битрейты кодируются в AAC-LC

В Nero AAC есть и AAC-LC профиль с битрейтом до 512 kbps, двухпроходное кодирование. Кстати есть бинарник под Linux.

anonymous ()

ОООО!!! Это я удачно зашел, аж ностальгией накрыло )))

Для начала, какая цель создания рипа? Если сделать копию фильма/видео для того чтоб было, и при этом с высоким качеством и с наименьшим размером файла, тогда читай.
Далее, AviDemux - это грубо говоря GUI для FFmpeg. Программа хорошая, но…
Итак:
1. DVD-рипы в линуксе далать в MPlayer (http://www.mplayerhq.hu/design7/news-ru.html). Это пакет программ, в который входят mplayer и mencoder. Это лучшее что существует (Unix-like) и они не зря получили награды. Из моего опыта, не раз корректно перекодировал битые файлы (о хвала небесам и инженерам фирмы ВenQ, создавшим DVD-привод читавшим даже дырявые как решето диски).
2. Документация по mplayer и mencoder (http://www.mplayerhq.hu/DOCS/HTML/ru/index.html), узнаешь много нового и полезного (в том числе и про DVD-рипы), как и я в своё время.
2.1. Мини-инструкция по DVD-рип.
2.1.1 копируем (НЕ КОДИРУЕМ) данные с носителя (или с смонтированной папки) в видео файл. Данный шаг нужен для объедение в один файл VOB-файлы. А также для избежания / исправления ошибок чтения (если с DVD/BR диска).
2.1.2 перекодируем (сжимаем) с обрезкой верхней и нижней чёрных полос (если они есть).
3. Про заставку/меню. Нет, а оно надо? Это отдельные VOB файл(ы)
4. Про сцены, скорее всего нет, так как это просто ссылки с таймкодом на видео.
5. Настройки/пресеты x264. Пресеты для того и нужны чтобы просто выбрать пресет и не возиться с настройки. А если хочешь выжать максимум, тогда сам всё настраивай.
6. reframes - не парься
7. x265 в большинстве случаем хуже чем x264. x265 лучше чем x264 только на длительном видео (более 30-60 мин.), но не всегда. Если нужна альтернатива то смотри в сторону Theora или VP9.
8. контейнеры - AVI, MKV, MP4. Эти поддерживаются везде и всегда, а остальные уже не факт. MKV на старых девайсам может не поддерживаться.
9. Аудио. 128 kbs + VBR + максимальные настройка качества. По-моему это оптимальное решение для размер файла / качество звука. Кодирование с более высоким битрайтом, оно конечно лучше, но разницу не услышал. Сам кодек роли не сыграет, все примерно одного уровня при таком битрайте.
10. деитнерлэйс бывает разный, но его также можно убрать подобрав фильтр для постобработки.

И отдельно отмечу. Главное это битрэйт, а всем остальным можно улучшить/ухудшить качество, но основанное на битрэйте.

P.S. По дефолту mencoder не поддерживает x264 (т.к. x264 - это свободная реализация проприетарного кодера H.264). Для использования в mencoder x264 нужно пересобрать mencoder (я пересобирал весь MPlayer пакет).

rEnSbit ()

Вы, похоже, не слишком разбираетесь в вопросах качества кодирования материала в современных реалиях, отличных от 2005г.
Во-первых, про x265 неплохо было бы заглянуть сюда, для сравнения качества и размера релизов: http://screenshotcomparison.com/search/?search_str=X265&action=search
Во-вторых, про аудио 128 kbps и «кодек роли не сыграет» это тоже что-то из реалий ~2005, когда по факту кодировали только одним кодеком, да и разницы, в общем-то, на белых «гениусах» наперевес с древними «реалтеками» никто особой не ощущал

Quasar-Napilnik_CPY ()

Re: ОООО!!! Это я удачно зашел, аж ностальгией накрыло )))

Ты что, поехавший что ли? Вот такие школьные специалисты и наносят урон сообществу. Кодировать только программой x264 или x265, me и subme можно потвикать если подходящий пресет их очень портит.

3,4 изи, особенно в матрёшке

AVI, MKV, MP4

MP4
AVI
x265 в большинстве случаем хуже чем x264
Theora

да ты юморист я погляжу. Вот про avi особенно смешно было.

Если есть возможность забить на стандарты железок, то простор весьма хороший.

128 kbs + VBR + ма

очень много зависит от кодека. fdk-aac@192 наверно минимальное допустимое качество

Главное это битрэйт

лол да конечно, мамкин любитель избавляться от косяков битрейтом. Только всё равно портится картинка.

mencoder

или умственно отсталый просто, это многое объяснило бы.

anonymous ()

Re: ОООО!!! Это я удачно зашел, аж ностальгией накрыло )))

mencoder хорош тем, что в нем есть IVTC фильтр. Но в ffmpeg его вроде бы тоже можно задействовать. Кодировать в H.264 mencoder умеет, но в контейнер AVI. Потом можно пересобрать в MKV.
Однако IVTC лучше делать в TDecimate Avisynth. Он точнее удаляет дубликаты, особенно после внезапных изменений сцен:

ConvertToYV12(interlaced=true)
interp = nnedi3(field=-1, qual=2)
tmmask = TMM(order=-1, field=-1)
deint = TDeint(order=-1, field=-1, edeint=interp, slow=2, emask=tmmask)
TFM(order=-1, mode=3, clip2=deint, slow=2)
TDecimate(mode=2, rate=23.976023976)
Двухпроходный режим для простого прореживания:
TDecimate(mode=4, output="y:\metrics.txt")
TDecimate(mode=2, rate=25.000, input="y:\metrics.txt")
Удаление транскода:
MPEG2Source("video.d2v", cpu=0)
ConvertToYV12(interlaced=true)
QTGMC(Preset="Fast", Sharpness=0.4)
Crop(0, 0, -0, -0)
SRestore(frate=25)
Однако, процедура эта неидеальная. Небольшие рывки местами могут остаться. По сути этот код деинтерлейсит видео в двойную частоту. Потом SRestore пытается найти и удалить дубли и бленды, оставляя только настоящие кадры.

anonymous ()

Re: ОООО!!! Это я удачно зашел, аж ностальгией накрыло )))

Мне не понравились результаты Avisynth и компании, и качества деинтерлейсинга в особенности. Те консольные приблуды работающие с сырым потоком вроде ничего показали себя. Тоже через удвоение и преобразование, примерно то же делали. Вот не помню за рывки, там в оригинале очень сложное видео с переменной скоростью и артистическими артефактами было и в принципе меня результат устроил (после удвоения, перекодировать в 30 причин не было). Там ещё какой-то прикол был, что обычный софт не учитывает что там field rate 60000:1001 и округляет куда-то не туда. Так что только ручками.

anonymous ()

Он точнее удаляет дубликаты

Потому что у обычных дециматоров (ffmpeg -vf decimate=cycle=5) маленький буфер, доступа к предыдущим кадрам у них нет и перестраиваются они на лету. Если структура дублей поменялась (например, появился или исчез лишний кадр), они перестроятся, конечно, но в этот момент мы увидим рывок. Например, на титрах после долгой черноты.

TDecimate в mode=2 (а двухпроходный mode=4 сначала, потом mode=2 еще лучше) имеет большой буфер (mode=4 вообще знает всю структуру), может править предыдущие кадры, а перестраиваться там, где это менее заметно (на предыдущей статике). Например, в этом видео (25>30 fps) только в mode=2 нет рывка на финальных титрах за счет коррекции в предыдущей черноте и начало плавное. Но не пользуйтесь mode=7, это практически синоним простейшей cycleR=1,cycle=N, только с другим синтаксисом.

Как узнать какая была исходная fps. Полистайте покадрово. Если видео 29.97, но каждый пятый кадр дубль, значит 23.976. Если каждый шестой дубль, значит 25.
Пропорция (из 5 кадров - 4 нормальные):
29.97 - 5
x - 4
x=29.97*4/5=23.976
Для интерлейса - на небольшом сэмпле, где много движения, сделайте деинтерлейс в двойную частоту (50 или 59.94), смотрите покадрово (или сделайте раскадровку) и удаляйте все дубли и бленды. Из того, что осталось, по пропорции высчитываете оригинальную частоту кадров. Хотя иногда бывает бленды уже окончательно вшиты в видеопоток (если расчет покажет слишком малую частоту <23.976), тут уж ничего не поделать.

Если структура не постоянна и с виду не поддается логике, считайте на как можно большем участке среднее значение и используйте TDecimate в двухпроходном режиме (сначала генерация metrics.txt, потом финальная обработка). Обычно такую нестандартщину в 2pass он переваривает вполне нормально, в отличии от других фильтров.

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

Можно даже из захардкоденного деинтерлейснутого Hard Telecine (не подвергшегося ресайзу, по крайней мере по вертикали), где чередуются 3 прогрессивных кадра и 2 бленда, вытащить 23.976 с помощью:

AnimeIVTC(1, bbob=5, blend=true, extbob=MC_A_bob, mode22=false, aa=0)#.trim(1,0)

fdk-aac@192 наверно минимальное допустимое качество

Это максимальное качество для fdk (непатченного). Но лучше указывать -vbr 5, это примерно 192 и будет, но на несложных (например, псевдостерео=моно) может и 128 получиться, это норм звучит.

anonymous ()
Ответ на: комментарий от anonymous

Узнать какая частота в видео на ютубе можно не скачивая его. ПКМ - Статистика для сисадминов, значение после @. Полистать покадрово кнопками < >.
Во втором видео я попутал что-то, дублей нет, только пропуски. Исходник был 29.97 скорее всего. Но, кстати, если структура пропусков постоянна (24 - 25 кадров, например), хотя это бывает редко, на их месте можно построить искусственные кадры с помощью SVP. Он строит не очень хорошо, но это лучше, чем ничего. Но, конечно, всегда предпочтительнее найти нормальный исходник.

anonymous ()
Ответ на: комментарий от anonymous

Давай что-нибудь полезное, вот допустим у меня в руках dvd с 480i, дальнейшие действия?

Допустим, выясняем верхняя половина нам нужна или нижняя, да? Это первое с чем нужно определиться. Dar, sar, что там ещё? Надо будет посмотреть, что я там наворотил и остались ли ещё претензии по результату. Лежит коллекция самых различных dvd (в том числе похереных), которые надо обработать.

На твоих видосиках дефекты слишком бросаются в глаза, не знаю как можно было такой результат оставить.

А вообще любые фильтры для деинтерлейсинга какое-то убожество.

anonymous ()
Ответ на: комментарий от anonymous

dvd с 480i, дальнейшие действия

Для начала посмотреть soft telecine 23.976p ли там, это можно даже в MediaInfo. Но от soft telecine надо тоже правильно избавляться (в том числе при просмотре). Потом посмотри нет ли там hard telecine, interlace или transcode. А бывает еще гибрид. Вообще с NTSC довольно много гемора. Исходник точно лучше не удалять.

anonymous ()
Ответ на: комментарий от anonymous

Мне показалось там изначально 29 (и снято в 59.94, причём в формате где несколько минут занимают гигабайты) и надо только выяснить какая половинка ведущая. Вообще, я пытаюсь сделать универсально конечно и мне не достаёт различной экзотики для тестирования, но похоже мне нужна была только экзотика.

Вот тут об этом написано вроде, том числе про мои «половинки».

anonymous ()
Ответ на: комментарий от anonymous

Залей сэмпл, я посмотрю.

Еще одно наблюдение. Есть адаптивные деинтерлейсеры с анализом движения, сохраняющие четкость (Yadif, TDeint, QTGMC), а есть примитивные вроде linear blend или простой bob, где половина строк выкидывается и четкость падает в два раза. Hard Telecine вообще полагается пропускать через IVTC, но если его пропустить через деинтерлейсер (на половинной частоте 29.97), то после простого деинтерлейса будет 3 прогрессивных кадра и 2 бленда. А после адаптивного 4 прогрессивных кадра и 1 дубль (по крайней мере на динамике) - их оценка движения перестраивает 2 бленда в 1 полноценный кадр и он дублируется для сохранения частоты 29.97.

На двойной же частоте 59.94 все деинтерлейсеры работают одинаково (но адаптивные сохраняют четкость). Также как и separate fields. Там нет блендов, структура PPPDD, где P - прогрессивные кадры, D - дубли. Тоже самое было бы, если 23.976 (после IVTC, например) играть на 59.94 Hz (опустим пока разницу 59.94-60). PPPDD. Это значит, что на железных плеерах и телевизорах, которые как правило работают на двойной частоте, в NTSC не будет мазни и рывков, как многие боятся. Хотя деинтерлейсер все-таки картинку попортит (зависит от продвинутости, но даже адаптивные портят прогрессивные кадры). Транскоды тоже смотрятся нормально только на двойной частоте, а не как в обычных рипах. Причем частота экрана должна совпадать. Но PAL>NTSC как правило играется нормально всегда, а вот NTSC>PAL (50 fps) не повезло. Что на 60 Hz, что на 85 Hz будут рывки, нужно переводить устройство отображения на четные 50/100 Hz.

Там еще много нюансов. Добавлю только, что NTSC Soft Telecine (aka 2:3 Pulldown) лучше смотреть в SMPlayer с mplayer движком (не mpv). mplayer игнорирует pulldown флаги и играет честные 23.976 без рывков. На винде рекомендую ffdshow или Cyberlink.

anonymous ()
Ответ на: комментарий от anonymous

PPPDD

Пардон, конечно же имелось в виду PDPDD. Ну или 11222.

Кстати транскод opensource утилиты делать не умеют (может и к лучшему). Хотя через avisynth можно извратиться. Зато умеет делать коммерческий софт, например: ProCoder при отключенной смены скорости, интерлейсный MainConcept экспорт в Sony Vegas, Edius по моему и т.п. Это плохой способ, но все-таки лучше, чем безвозвратное выкидывание кадров в ffmpeg при уменьшении fps.
А ProCoder может закодить через QuickTime 23.976 в AVI DV NTSC (в котором разрешено вообще-то только 29.97). Там как-то хитро, в заголовках значится 29.97 max, но воспроизводится 23.976. Интересно как переварят такой файл линуксовые монтажки...

anonymous ()
QTGMC(Preset="Fast", Sharpness=0.4)
SRestore(frate=25)

Необязательно использовать такой тяжелый деинтерлейсер, как QTGMC. А он очень медленный даже на Faster пресетах. Сам SRestore достаточно быстрый. Для скорости и простоты можно обойтись вместо него:

Yadif(mode=1, order=-1)
Если качество устроит и лесенок не будет видно.
Может быть и в плеере на лету получится обработать. Виндовый PotPlayer поддерживает проксирование через Avisynth и Vapoursynth.

anonymous ()
Ответ на: комментарий от anonymous

Если структура пропусков постоянна, на их месте можно построить искусственные кадры с помощью SVP

Я такое несколько раз проделывал, а в одном случае даже три раза за фильм структуру подправлял. Если кому нужно, пример скрипта (начало обсуждения).
Если дроподублей на месте пропусков нет, то их можно создать с помощью ChangeFPS и нацелить через Trim, а дальше GameDropFix. Но, можно придумать решение элегантнее на основе скрипта выше. Еще пара занятных примеров.

anonymous ()
Ответ на: комментарий от Deleted

Лидирует только на битрейтах ниже среднего. На средних битрейтах и выше vorbis по прежнему лучше, ЕМНИП (я как-то сравнивал)

Чего ты там на высоких битрейтах сравнивал и что услышал? Результаты двойного слепого теста будут? Спорим уже opus 96 kbps от оригинала не отличишь.

anonymous ()
Ответ на: комментарий от anonymous

Самовнушение или дело в ресемплинге. Opus поддерживает только 48, аудиозаписи обычно 44.1. Но это не страшно, ресемплинг в Opus очень качественный. А вот кто и как тебе ресемплил 44.1 (большинство звуковух тоже только 48 нативно поддерживают) и каких искажений в виде гармоник, приукрашивающих звук добавил.

Потом, если скормить в ffmpeg opus 44.1 кто будет ресемплить Opus или ffmpeg? У ffmpeg дефолтный ресемплер (не -af aresample=resampler=soxr) неидеальный, проверял на тестовом файле. Чем кодил? Хоть Opus поддерживает только 48, но информация об оригинальной частоте (44.1) записывается в метаданные. И некоторые плееры могут опять к ней привести, а потом опять ресемплинг в драйвере на 48. Foobar знаю, что не смотрит на этот параметр и играет все opus в 48. Возможно некоторые другие плееры тоже.

anonymous ()
Ответ на: комментарий от anonymous

Чего ты там на высоких битрейтах сравнивал и что услышал? Результаты двойного слепого теста будут? Спорим уже opus 96 kbps от оригинала не отличишь.

На слух нет конечно, я вообще глухой. Я спектры анализировал.

Deleted ()
Ответ на: комментарий от madcore

Да рано об av1 и 265 говорить: кодируется это дело очень медленно, нигде нет аппаратной поддержки, где-то и вовсе воспроизводиться не станет, не потянет. Лет через 5 - может быть.

Ros ()