Файл MP4 ігнорує параметри субтитрів у VLC


14

Під час відтворення фільму MKV (h264 / aac) з окремим .SRT-файлом VLC дозволяє мені повністю контролювати зовнішній вигляд субтитрів із меню.

Однак після беззбиткового перетворення MKV / SRT в MP4 за допомогою вбудованих субтитрів ("mov_text") субтитри відображаються як невеликий шрифт Arial (?), А параметри VLC не впливають на це.

Я подумав, що, можливо, файл MP4 містить деяку інформацію про те, як відображати субтитри, які мали пріоритет, але це трапляється навіть після того, як я вилучив усі метадані з файлу MP4.

Це помилка / особливість у VLC? Як змусити його дотримуватися налаштувань візуальних підзаголовків для всіляких відеофайлів.

РЕДАКТУВАТИ: ПРИКЛАД СТО

1
00:00:00,000 --> 00:00:07,000
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,

2
00:00:09,000 --> 00:00:12,000
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

(etc.)

РЕДАКТУВАННЯ: ВИДІТЬСЯ ВИПУСК FFMPEG вихід

ffmpeg -y -i "in.mp4" -i "in.srt" -acodec copy -vcodec copy -scodec mov_text -absf aac_adtstoasc "out.mp4" ffmpeg version 2.8 Copyright (c) 2000-2015 the FFmpeg developers built with Apple LLVM version 7.0.0 (clang-700.0.72) configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-ffplay --enable-libfdk-aac --enable-nonfree --enable-vda libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mpegts, from 'in.mp4': Duration: 00:55:34.20, start: 10.099667, bitrate: 2441 kb/s Program 1 Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 162 kb/s Stream #0:2[0x102]: Data: timed_id3 (ID3 / 0x20334449) Input #1, srt, from 'in.srt': Duration: N/A, bitrate: N/A Stream #1:0: Subtitle: subrip Output #0, mp4, to 'out.mp4': Metadata: encoder : Lavf56.40.101 Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 162 kb/s Stream #0:2: Subtitle: mov_text ([8][0][0][0] / 0x0008) Metadata: encoder : Lavc56.60.100 mov_text Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Stream #1:0 -> #0:2 (subrip (srt) -> mov_text (native)) Press [q] to stop, [?] for help frame=83215 fps=3113 q=-1.0 Lsize= 958501kB time=00:55:34.08 bitrate=2355.1kbits/s video:891302kB audio:65022kB subtitle:18kB other streams:0kB global headers:0kB muxing overhead: 0.225788%


Яка версія ОС та VLC? Чи поводиться він так само і з MKV з вбудованими СТО?
Каран

OS X 10.10.3. VLC 2.2.1. Вбудовування СТО в MKV працює. Отже, він повинен бути пов'язаний з контейнером MP4 або mov_textформатом підзаголовків. (Останнє необхідно для MP4, і , здається , несумісні з MKV.)
forthrin

Що ви використовували для перетворення відео? Я припускаю ffmpegзавдяки тегу. Чи можете ви показати свою команду та повний вихід консолі? ffmpegпідтримує правильне кодування / декодування певної стилізації в mov_text (розмір шрифту, колір шрифту, жирний шрифт, курсив тощо). Я здогадуюсь, що ваша збірка є давньою, але наразі це неможливо сказати без додаткової інформації від вас. Однак я не впевнений, як VLC має справу з будь-яким із цього.
llogan

Дивіться нову інформацію, додану в публікації.
forthrin

Чи можете ви надати файл SRT?
llogan

Відповіді:


6

Опублікував випуск розробникам VLC, і вони заявляють, що проблема буде виправлена ​​у майбутньому версії 3.0.


Через майже два роки це питання так і не було вирішено. Будь-яке вирішення?
Рікардо Санчес-Саес

2
Не те, що я знаю. VLC 3, здається, працював назавжди. Я вважаю своєрідним, що таке питання відсувається роками в очікуванні виходу, який ніколи не прийде. Я спробував бета-версії VLC 3, але виявив їх занадто глючними, щоб використовувати їх регулярно. Таким чином, я зберігаю всі мої файли СТО окремо від основного відеофайлу, поки не станеться диво. Можливо, це допоможе, якби більше людей відслідковували цю проблему на трекері помилок VLC. trac.videolan.org/vlc/ticket/15627
30

@forthrin цей квиток, який ви пов’язали, був закритий два роки тому, тому я не можу нічого додати до цього. Я не впевнений, чому вони думають, що це закрито.
Джошуа Нурчик

@JoshuaNurczyk: Проблема нібито виправлена ​​у VLC 3, але VLC 3 потрібен рік, щоб дійти до остаточного випуску.
січня

1
Я можу підтвердити, що ця помилка виправлена ​​у VLC 3
Акіра Ямамото

1

Це, безумовно, проблема контейнера MOV_Text / Mp4, і зараз немає інших варіантів, щоб виправити це.

Перетворюйте Mp4 в MKV з субтитрами без втрат

Також я виявив, що якщо я витягнув MOV_Text SRT і додав його вручну, проблема все-таки виникла, але якщо я завантажив окремі файли SRT з Інтернету, я зміг додати їх вручну, і тоді VLC змогла маніпулювати шрифтом / розміром тощо і т. д. (я маю на увазі, що якщо ви не хочете конвертувати, ваш єдиний варіант - завантажити окремий файл SRT і додати його вручну в VLC)


1
в той час як я помічаю, що ОП намагається перейти з MKV до Mp4, я хотів поділитися, що їхнє рішення не є банкоматом для вбудованих Mp4 підпроектів, що VLC може керувати шрифтом / розміром і т. д. Вам потрібно додати зовнішні підводки до MP4 або перетворити на MKV
FreeSoftwareServers
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.