Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: ffmpeg. Конвертировать DVD в mkv.  (Прочитано 10713 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 185
  • Че
    • Просмотр профиля
ffmpeg. Конвертировать DVD в mkv.
« : 20 Февраля 2015, 15:39:16 »
Кто-то пробовал с помощью ffmpeg конвертировать обычный DVD, где всё видео находится в папке VIDEO_TS, в формат mkv?

Я вот сейчас, интереса ради, пытаюсь разобраться. То, что получится, попробую описать в этой теме. А может быть кто-то, умнеее меня, подскажет лучший вариант.

P.S. Я нашёл здесь на сайте help.ubuntu.ru статью "Создание DVDRip'ов в Ubuntu", НО там написано, что "Статья не завершена" и в разделе "FFmpeg" ничего нет. Возможно общими усилиями мы здесь напишем этот раздел.
P.P.S. По мере того, как я буду разбираться в этом вопросе, я буду редактировать 1-ое сообщение данной темы.
Поэтому мои вопросы именно из 1-го сообщения прошу цитировать в своих ответах (если эти ответы будут), чтобы было понятно, о чём речь.



Пользователь решил продолжить мысль [time]20 Февраль 2015, 16:59:24[/time]:
1. Первым делом понаходил методом тыка файлы, в которых находится нужное мне видео, используя SMPlayer.
Это VTS_02_1.VOB, VTS_02_2.VOB и т.д. по порядку до VTS_02_6.VOB размером 1 023,8 МиБ. И ещё один небольшой файл VTS_02_7.VOB размером 377,5 МиБ.
Наверное именно их, файлы формата VOB, надо обрабатывать?
1.1. Дополнение. Я предполагаю, что надо сразу искать файлы VOB самого большого размера. Если фильм на диске - один, то вот в этих самых больших файлах он и будет находиться.
Эпизоды, по-видимому, идут в порядке нумерации файлов. Т.е. 1-ый эпизод находится в файле с именем, которое заканчивается на 1 (например, VTS_02_1.VOB); 2-ой эпизод - в файле с именем, которое заканчивается на 2 (VTS_02_2.VOB); и т.д.
1.2. Дополнение. Файлы с нужными эпизодами можно объединить в один файл. Такой командой:
ffmpeg -i concat:"VTS_02_1.VOB|VTS_02_2.VOB|VTS_02_3.VOB|VTS_02_4.VOB|VTS_02_5.VOB|VTS_02_6.VOB|VTS_02_7.VOB" -vcodec copy -acodec copy "VID.VOB"Я сразу подумал, что это будет долго. Нет. Файлы просто копируются в один большой файл. Для файлов объёмом 6,4 ГиБ это заняло 2 минуты.

2. Оказалось, что если открываешь файл VOB отдельно, то меняются пропорции изображения. Здесь я вспомнил другое обсуждение в этой ветке "Мультимедиа", где пользователь archiver мне написал:
Дело в том, что в DVD видео (и не только) основную роль играет размер кадра, а аспект регулируется опцией -aspect, а не соотношением экрана, например:
-s 720x480 -sar 1:1 -aspect 4:3 (16:9) -r 29.970 -- NTSCили
-s 720x576 -sar 1:1 -aspect 4:3 (16:9) -r 25 -- PAL
В моём случае стандартное соотношение 16:9 не подошло. Нужно 16:10, но это не так уж важно.

3. Оказалось, что у видео в формате DVD очень большой битрейт. MediaInfo показывает для файла VTS_02_1.VOB аж 7 709 kbps.
И это при размере изображения 720x576. В то время как обычно, в файле mkv, при картинке размером 1280x720 хорошего качества, битрейт около 3000 kbps.
« Последнее редактирование: 22 Февраля 2015, 15:18:08 от Adriano »

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #1 : 20 Февраля 2015, 19:04:35 »
Adriano,
Здесь уже были вопросы на эту тему - надо было поискать по ресурсу...

Посмотрите и поизучайте это:
FFmpeg
работа в ffmpeg с форматами mpeg-2 и DVD
ключи параметров ffmpeg для x264

3. Оказалось, что у видео в формате DVD очень большой битрейт. MediaInfo показывает для файла VTS_02_1.VOB аж 7 709 kbps.
И это при размере изображения 720x576.
Это очень нормальный битрейт для DVD, ибо в x264 используется алгоритм CABAC, которые позволяет паковать видеопоток арифметическим способом и примерно в два раза снизить потребность в битрейте... В MPEG-2 и DVD этой технологии (алгоритма) нету...
« Последнее редактирование: 20 Февраля 2015, 19:13:03 от archiver »

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 185
  • Че
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #2 : 20 Февраля 2015, 19:54:18 »
Спасибо, archiver !
Я прочитал, что битрейт для видео в конечном файле можно установить двумя способами.

1. Можно задать фиксированный битрейт. Например, для изображения 720p вполне нормально будет 3000.
В моём случае я написал так:
ffmpeg -i VTS_02_1.VOB -s 720x576 -sar 1:1 -aspect 16:10 -b:v 3000K -acodec libmp3lame -ab 256k -ar 48000 -ac 2 "1.mkv"Получился файл (1.mkv) размером 358,5 МиБ из файла (VTS_02_1.VOB) размером 1023,8 МиБ.
Итого из 6-ти таких файлов получится 358,5 х 6 = 2 151 МиБ.
Ну и плюс последний 7-ой небольшой эпизод. Около 2 ГиБ итоговое видео.

2. Можно задать битрейт с помощью crf. Нормальное качество, насколько я понял, должно получиться при параметре -crf 18 или 20.
ТАК я для пробы обработал 2-ой эпизод.
ffmpeg -i VTS_02_2.VOB -s 720x576 -sar 1:1 -aspect 16:10 -crf 18 -acodec libmp3lame -ab 256k -ar 48000 -ac 2 "2.mkv"Получился файл 2.mkv с более скромными показателями: размер 163,4 МиБ; битрейт 1 205
Когда он конвертировался, то битрейт менялся.
Вот тут интересный для меня вопрос. А какой же нужен хороший показатель этого битрейта для данного видео? 3000 - это кажется избыточно
Вот здесь, во время обработки файла, я заметил, что в среднем было около 1500, и, если не ошибаюсь, не больше 2000.

-----

3-ий эпизод я обработал с постоянным битрейтом в 2000.
ffmpeg -i VTS_02_3.VOB -s 720x576 -sar 1:1 -aspect 16:10 -b:v 2000K -acodec libmp3lame -ab 256k -ar 48000 -ac 2 "3.mkv"
3.mkv 245,2 МиБ. Вроде бы неплохо получилось, по качеству изображения. Все эпизоды займут около полутора гигабайт.

-----

Осталось 2 вопроса.
Первый. Какой из приведённых выше 3-х способов лучше? Т.е. задать постоянный битрейт 3000? 2000? Или задать переменный через -crf? (так файл с фильмом выйдет размером меньше гигабайта)

Второй вопрос. А как это всё объединить в один файл?
Хотя, в общем-то ничего страшного, и если у меня из 7-ми эпизодов выйдет 7 файлов mkv. :) Смотреть можно.
« Последнее редактирование: 20 Февраля 2015, 20:40:28 от Adriano »

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #3 : 20 Февраля 2015, 20:53:09 »
Первый. Какой из приведённых выше 3-х способов лучше? Т.е. задать постоянный битрейт 3000? 2000? Или задать переменный через -crf? (так файл с фильмом выйдет размером меньше гигабайта)
Нет однозначных ответов для этого... Почитайте ещё раз сами описания этих вариантов по ссылке x264 - там все основные возможные условности прописаны...
К тому же не рекомендовано использовать x264 и mp3 совместно в одном контейнере (*.mkv) ... Для *.mkv актуально использование AAC и AC3...
+
У вас не указан видеокодек для кодирования - это не есть гуд, ибо ffmpeg при таком раскладе сам выбирает видеокодек, который обычно MP4, - что отчасти малосовместимо и с libmp3lame и с *.mkv

Второй вопрос. А как это всё объединить в один файл?
Хотя, в общем-то ничего страшного, и если у меня из 7-ми эпизодов выйдет 7 файлов mkv. :) Смотреть можно.
Внимательно и полностью читайте ссылку для DVD кодирования и для работы с vob - там всё это есть...
И, нет такого аспекта для кодирования видео, как 16:10 ... для мониторов есть, а для кодирования видео - нет... только 16:9 и 4:3 (широкоэкранные не рассматриваем их обычно встраивают в вышеперечисленное)

Спасибо, archiver !
Я прочитал, что битрейт для видео в конечном файле можно установить двумя способами.

ключи параметров ffmpeg для x264 - графа < -b > там всё приведено, включая формулу расчёта битрейта, как для стрима, так и для рипов...

К тому же неизвестны исходные данные видео - а точнее фреймрейт, ибо значение фреймрейта достаточно ощутимо влияет на расчёт результирующего битрейта... Я подозреваю что 25 кадр/сек, для 25 кадр/сек - так < -g 250 -bf 2 -keyint_min 25 > :
ffmpeg -i /input.VOB -s 720x576 -sar 1:1 -aspect 16:9 -f matroska -vcodec libx264 -profile high -b:v 2302K -me_method umh -subq 9 -me_range 16 -g 250 -bf 2 -keyint_min 25 -b-pyramid 1 -fast-pskip 0 -i_qfactor 1.00 -acodec aac -strict experimental -ac 2 -b:a 192K -ar 48000 output.mkv"
« Последнее редактирование: 20 Февраля 2015, 21:35:59 от archiver »

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 185
  • Че
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #4 : 20 Февраля 2015, 21:09:36 »
К тому же не рекомендовано использовать x264 и mp3 совместно в одном контейнере (*.mkv) ... Для *.mkv актуально использование AAC и AC3...
+
У вас не указан видеокодек для кодирования - это не есть гуд, ибо ffmpeg при таком раскладе сам выбирает видеокодек, который обычно MP4, - что отчасти малосовместимо и с libmp3lame и с *.mkv
Спасибо ещё раз.
Звук АС3 не работает в китайской приставке "Strong" для телевидения Т2. :) Какую-то лицензию что-ли китайцы не оплатили.
Как задать ААС - не знаю. Вы не будете так добры привести пример с правильно заданными параметрами аудио и видео?

Оффлайн Scorry

  • Активист
  • *
  • Сообщений: 842
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #5 : 20 Февраля 2015, 21:13:29 »
К тому же не рекомендовано использовать x264 и mp3 совместно в одном контейнере (*.mkv) ... Для *.mkv актуально использование AAC и AC3...
Кем не рекомендовано? Зачем такое говорить человеку?

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #6 : 20 Февраля 2015, 21:23:30 »
Adriano,
Стоку привёл, ответ дополнил... Если ещё возникнут вопросы - задавайте, смогу - отвечу... Только читайте прежде чем задавать вопросы, не люблю я этот "испорченный телефон" ;)

Кем не рекомендовано? Зачем такое говорить человеку?
1. Стандартизацией
2. Трекерами
3. Стрим-видео-ресурсами

На трекерах такой файл с большой долей гарантии могут не принять, стрим-видео-ресурсы, - один хрен переконвертят mp3 в AAC...
Я думаю, что начинающий рипер - должен это знать - ибо, .......
« Последнее редактирование: 20 Февраля 2015, 21:26:48 от archiver »

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 185
  • Че
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #7 : 20 Февраля 2015, 21:35:55 »

К тому же неизвестны исходные данные видео - а точнее фреймрейт... Я подозреваю что 25 кадр/сек
Да, 25 кадр/сек. Благодарю за пример кода.

Да, конечно. Надо было мне сразу написать данные фильма. Чтобы вести предметный разговор.
Остальные данные на всякий случай. Взяты из 1-го эпизода фильма.
(Нажмите, чтобы показать/скрыть)

Сам фильм ("Республика ШКИД") находится здесь. Чтобы его скачать, надо заходить с укр. айпишника.
« Последнее редактирование: 22 Февраля 2015, 15:25:52 от Adriano »

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #8 : 20 Февраля 2015, 21:38:52 »
Adriano,
Если изображение окажется немного сплюснутым с боков, то это регулируется опцией < -sar > ... поставте тогда значение -sar 4:3
Это тоже можно прочитать в статье по ссылке ключей x264 - в графе -sar

Оффлайн Scorry

  • Активист
  • *
  • Сообщений: 842
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #9 : 21 Февраля 2015, 02:45:46 »
Кем не рекомендовано? Зачем такое говорить человеку?
1. Стандартизацией
2. Трекерами
3. Стрим-видео-ресурсами

На трекерах такой файл с большой долей гарантии могут не принять, стрим-видео-ресурсы, - один хрен переконвертят mp3 в AAC...
Я думаю, что начинающий рипер - должен это знать - ибо, .......
А-а-а. Оказывается, трекеры советуют, что можно и что нельзя пихать в матрёшку. А создатели-то и не в курсе, что в их всеядный контейнер что-то не рекомендуют внедрять. Ну тогда окай, всё ясно.

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #10 : 21 Февраля 2015, 06:33:09 »
А-а-а. Оказывается, трекеры советуют, что можно и что нельзя пихать в матрёшку. А создатели-то и не в курсе, что в их всеядный контейнер что-то не рекомендуют внедрять. Ну тогда окай, всё ясно.

Вы с создателями сами на эту тему разговарвали? - или со сплетен? ;D ... Теоретически я понимаю о чём именно вы пытаетесь вести диалог, а вот практически нужно наверное как то обосновать то, что на тех же, ю-ру-тубе (и не только) всё конвертится (включая конечно же и mkv) почему то в контейнер mp4 со звуком aac - и ни тени намёка на какой то там всеядный в mkv - mp3  :)
Ну а если совсем без сарказма и чисто по человечески рассмотреть данный аспект, - то думаю что для домашнего пользования сгодится чо угодно и в чём угодно, лишь бы бытовая техника это "хавала" и без проблем воспроизводила ;)
« Последнее редактирование: 21 Февраля 2015, 06:36:05 от archiver »

Оффлайн Scorry

  • Активист
  • *
  • Сообщений: 842
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #11 : 21 Февраля 2015, 16:59:34 »
А-а-а. Оказывается, трекеры советуют, что можно и что нельзя пихать в матрёшку. А создатели-то и не в курсе, что в их всеядный контейнер что-то не рекомендуют внедрять. Ну тогда окай, всё ясно.

Вы с создателями сами на эту тему разговарвали? - или со сплетен? ;D
Вам дать адрес Морица или ссылку на документацию?

Цитировать
... Теоретически я понимаю о чём именно вы пытаетесь вести диалог, а вот практически нужно наверное как то обосновать то, что на тех же, ю-ру-тубе (и не только) всё конвертится (включая конечно же и mkv) почему то в контейнер mp4 со звуком aac - и ни тени намёка на какой то там всеядный в mkv - mp3  :)
Я не пытаюсь, как вы выражаетесь, вести диалог, а указываю вам на очевидную вашу глупость, которую вы ляпнули, не подумав. Параметры еонвертация видео по умолчанию на каком-то там ресурсе меня нисколько не волнует и не говорит ничего об ограничениях формата, а только о предпочтениях авторов этого самого ресурса и пониманиемєтих видео- и аудиоформатов широкой аудиторией.

Цитировать
Ну а если совсем без сарказма и чисто по человечески рассмотреть данный аспект, - то думаю что для домашнего пользования сгодится чо угодно и в чём угодно, лишь бы бытовая техника это "хавала" и без проблем воспроизводила ;)
Вот с этого могли начинать, а не выдавать свои мысли в качестве всеобщих рекомендаций.

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 185
  • Че
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #12 : 21 Февраля 2015, 21:25:57 »
Цитировать
Ну а если совсем без сарказма и чисто по человечески рассмотреть данный аспект, - то думаю что для домашнего пользования сгодится чо угодно и в чём угодно, лишь бы бытовая техника это "хавала" и без проблем воспроизводила ;)
Вот с этого могли начинать, а не выдавать свои мысли в качестве всеобщих рекомендаций.
Вообще-то я пока что интересуюсь больше "для дома, для семьи" :)
Но, если учишься что-то делать, то лучше учиться это делать хорошо; делать так как следует.

Поскольку звук АС3 мой ТВ-тюнер (тюнер мне достался практически даром) с флешки не воспроизводит, то я, скачав видео, постоянно смотрю -- а не АС3 ли там. Исправляется это дело элементарно и довольно быстро: копировать видео, а звук я конвертирую в mp3.
Так вот, хочу отметить, что в файлах формата mkv звук mp3 действительно попадается очень редко. Да, бывает, но редко. Обычно или AC3 или AAC.

К слову, странный момент. Программа Media Info для звука ААС почему-то не пишет про битрейт, как я вчера заметил.



Пользователь решил продолжить мысль [time]21 Февраль 2015, 22:32:27[/time]:
Я не пытаюсь, как вы выражаетесь, вести диалог, а указываю вам на очевидную вашу глупость, которую вы ляпнули, не подумав.
Scorry, кроме вопроса про звук МР3, там выше ещё есть несколько вопросов. Я был бы благодарен, если бы вы написали в эту тему и по ним что-то несомненно умное и желательно с конкретными примерами. :)
« Последнее редактирование: 21 Февраля 2015, 21:35:20 от Adriano »

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #13 : 21 Февраля 2015, 21:55:06 »
Я не пытаюсь, как вы выражаетесь, вести диалог
Вы именно этим и занимаетесь...

Параметры еонвертация видео по умолчанию на каком-то там ресурсе меня нисколько не волнует
Собственно говоря меня абсолютно не волнует то, что именно вас там не волнует - это как говориться ваши личные проблемы, к предмету данной темы не имеющие никакого отношения :) ...
Я просто вам указываю на вашу глупость, неосведомлённость и недопонимание ситуации по тем вопросам, которые уже давно приняты в сети как правала - и с этими правилами, при определённых аспектах и в определённых ситуациях - стоит как бы считаться, ибо ...........
В противном случае надо вывести этот диалог на общесетевое рассмотрение и пересмотреть позиции, предпочтения и ориентировки... Если вы уже готовы предпринять подобное в общесетевом масштабе, - то как говорится дерзайте, - флаг вам в руки ;)

Вот с этого могли начинать, а не выдавать свои мысли в качестве всеобщих рекомендаций.
С этого момента, диалог с вами, думаю мождно вообще закончить, тем более учитывая что у вас есть "адрес Морица и ссылки на документацию?"
Вот и напишите ему, задайте этот вопрос, типа - какго хрена тогда, если ...........  :D ;D

К слову, странный момент. Программа Media Info для звука ААС почему-то не пишет про битрейт, как я вчера заметил.
Но что то же всё-таки пишет :)
« Последнее редактирование: 22 Февраля 2015, 19:51:02 от archiver »

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 185
  • Че
    • Просмотр профиля
Re: ffmpeg. Конвертировать DVD в mkv.
« Ответ #14 : 21 Февраля 2015, 23:08:40 »
Но что то де всё-таки пишет :)

Много чего пишет. А про битрейт ничего не нашёл. Вот текст про аудио из Media Info.
(Нажмите, чтобы показать/скрыть)

Попробовал через ffmpeg, командой ffmpeg -i ИмяФайла
Получил:
Stream #0:1: Audio: aac, 48000 Hz, stereo, fltp (default)

В общем-то ничего страшного. Но как-то странно, что битрейт нельзя посмотреть.

 

Страница сгенерирована за 0.052 секунд. Запросов: 25.