FFmpeg и Blu-ray субтитры - PullRequest
       49

FFmpeg и Blu-ray субтитры

0 голосов
/ 19 декабря 2018

У меня есть некоторые Blu-ray рипы с субтитрами PGS (на основе изображений).Моя цель - перекодировать видео в более низкую скорость H265, чтобы сэкономить место и снизить битрейт, но мне нужны субтитры.Мне все равно, что это за контейнер - он может оставаться .mt2s или чем-то еще, но я не смог заставить FFmpeg делать что-нибудь с таким видео, которое неотбросьте субтитры или преобразуйте их в «пакеты PES, содержащие личные данные», как это описывает VLC Player.

Например, как я могу сделать что-то столь же простое, как создание другого файла .mt2s с первой минутойсуществующий файл .mt2s, дословно копирующий все потоки, просто усекающий их все?Я понимаю, что, возможно, вы не можете поместить потоки субтитров PGS в некоторые контейнеры, но если выходные данные относятся к контейнеру того же типа, что и входные, с чем это может быть связано?


Если я используюFFmpeg для вывода списка потоков в моем исходном файле, он говорит:

Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, mono, fltp, 192 kb/s
Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080

Если я сделаю

ffmpeg -i foobar.m2ts -c copy -t 1:00 test.m2ts

, я получу следующие потоки в test.m2ts:

Metadata:
  service_name    : Service01
  service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1[0x101]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, mono, fltp, 192 kb/s
Stream #0:2[0x102]: Data: bin_data ([6][0][0][0] / 0x0006)

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

...