1

Тема: BDAV mts, m2ts encoding (транскодер tsMuxeR)

Вопросы по кодированию в формат mts/m2ts (DVD/BlueRay) для устройств.

Sony Bravia KDL-32CX523

2

Re: BDAV mts, m2ts encoding (транскодер tsMuxeR)

та я так и делал, но не хотелось бы всё время фиксированым битрейтом пользоваться , Вы их и не дождетесь если у Вас телек понимает MPEG-TS, эти ошибки вылазат только если MPEG-PS (DVD) и фильм HD формата с битрейтом 5 и выше мегабит. Связано это с тем что буфер по дефолту расчитан на разрешения маленькие (DVD) , а транскодится HD с большим битрейтом вот и валятся ошибки, щас буду пробовать скомпилить ffmpeg с увеличеным буфером может поможет (по дефолту для DVD всего лишь 230 kb что ооочень мало)

3 (2016.02.15 13:10:57 отредактировано pomacik)

Re: BDAV mts, m2ts encoding (транскодер tsMuxeR)

Автор HMS внес изменения в ffmpeg.dll :) спасибо ему за это.
Подскажите если кто знает , как можно получить при транскодинге файл mts или m2ts (блурей формат) без TsMuxer , не получается ним пользоваться он как то странно муксит файлы , попадаются файлы которые не до конца муксит, может до середины дойти и всё, и ещё одна проблема при использовании TsMuxer у меня почему то ресивер не воспренимает дорожки Dolby Digital (ac3, dts) просто проигрывает как аналоговый сигнал, при транскодировании всё ок, а вот при tsmuxer такая беда.

upd: выяснил что мой телек кушает файлы ремуксеные через

ffmpeg -i "<INPUT FILE>" -acodec copy -vcodec copy -bsf h264_mp4toannexb test.m2ts

и получается формат BDAV как мне и нужно, а вот как заставить HMS сохранять именно в m2ts, mts с форматом BDAV ? если выбрано MPEG(DVD) то сохраняет в mpeg и получается не читаемый файл, а если выбрать MPEG-TS то естественно сохраняет в .ts (MPEG-TS) и телек мой не понимает его.

4

Re: BDAV mts, m2ts encoding (транскодер tsMuxeR)

pomacik, кроме TsMuxer-а, похоже, ничего толком и нет. На forum.videohelp.com если и встречаются решения, то основанные на нём.
Кстати, кроме TsMuxeR, есть отдельная TsRemux. Чем она отличается, пока не знаю.

Просто разобраться нужно, как идёт кодирование и что за ошибки. Сам транскодер TsMuxeR вылетает или битый файл создаёт с ошибками?

Sony Bravia KDL-32CX523

5 (2016.02.15 15:05:10 отредактировано pomacik)

Re: BDAV mts, m2ts encoding (транскодер tsMuxeR)

та просто заканчивает транскодить и всё и всегда по разному, может полностью, а может и нет, ну а самое плохое то что ac3 после муксера не видит рессивер, уже добился чтоб hms делал m2ts ! но теперь другая проблема, файл делает, но не отдаёт на телек и после ремукса остаётся полоска с заданием салатовая висеть в окне. Файл из временной папки прекрасно телек понимает, вот почему он его не отдаёт :(

upd: tsremux чето не ремуксит нифига :) висит на  pre-processing input file: и всё.

6

Re: BDAV mts, m2ts encoding (транскодер tsMuxeR)

автор проги подсказал как в m2ts через ffmpeg муксить файлы, всё работает, но как то каждую секунду подергивается видео (т.е каждую секунду такой еле заметный микролаг, при транскоде такого нет) , задал ему вопрос, жду ответ. Если кто знает подскажите в чем дело.
И ещё вопросик: как при кодеке nvenc выставить качество видео? ключ -q не катит. Чтоб ни фиксированный битрейт был, а по качеству настраивался.

7 (2016.02.15 22:19:03 отредактировано WendyH)

Re: BDAV mts, m2ts encoding (транскодер tsMuxeR)

pomacik пишет:

автор проги подсказал как в m2ts через ffmpeg муксить файлы, всё работает, но как то каждую секунду подергивается видео (т.е каждую секунду такой еле заметный микролаг, при транскоде такого нет) , задал ему вопрос, жду ответ. Если кто знает подскажите в чем дело.
И ещё вопросик: как при кодеке nvenc выставить качество видео? ключ -q не катит. Чтоб ни фиксированный битрейт был, а по качеству настраивался.

Тэкс, срочно создать отдельную тему с вариантом и настройкой как ремуксить m2ts. А то вы интересные темы затрагиваете, да всё в подкасте Youtub-а.
Я то в Редмайне вижу беседу и на ус кручу. Но нужно дать возможность найти эту инфу людям в открытом доступе.
Если не трудно, как поборете проблему, отпишитесь. Думаю будет полезно не только вам.

По поводу качества nvenc. Да, -q там нет. Там свои ключи.
Можно посмотреть командой:

ffmpeg -h encoder=nvenc

или даже

hmsmpeg -h encoder=nvenc

который используется в Home Media Server.
Гугл подсказал, что нужно включить либо -cbr 0 (включение подстраиваемого качества - quality balance, выключение постоянного качества), если я понял английскую писанину.
Либо использовать пресет: -preset ...  (самый медленный = hq 2pass, средний = hq, быстрый = hp, hq, hp, bd, ll, llhq, llhp...). По-умолчанию hq.

P.S.: Исправил текст выше. Нужно -cbr 0 ставить, cbr - это и есть constant bitrate. Значит его нужно выключить. Но что странно, он по-умолчанию выключен.

А подёргивания - загрузка проца не большая? А то, мож не справляется, когда там tsmuxer и ffmpeg разом орудуют.

Sony Bravia KDL-32CX523

8

Re: BDAV mts, m2ts encoding (транскодер tsMuxeR)

подергивания на уже готовом файле, на компе их почему то не видно. Мне вообще не понятно почему в HMS нет профилей ремуксящих в BDAV (m2ts) минуя Tsmuxer, ведь тут если знания позволяют можно один профиль на все файлы использовать. И битрейт нормальный будет, а не к примеру смотришь mkv с битрейтом 20мбит а mpeg транскодит как минимум в 30-35 мбит и приходится велосипед изобретать чтоб по вайфаю не было всяких затыков.

п.с Можно всё что с этим вопросом связано перенести в новую тему , чтоб тут не сорить, как её назвать только? :)

п.с по NVENC  я не нашел ключей которые управляют качеством, пресеты вообще на мой взгляд ничего не меняют.

-cbr ничего не даёт.

вот к примеру с такой строкой -i P1040496.MOV -c:v nvenc_h264 -level 4.0 -preset hq -vprofile high -acodec ac3 -ab 384 -ar 48000 test.m2ts

хоть ты тресни всё время одинаковые настройки для всех файлов битрейт 2000kb

Stream #0:0(eng): Video: h264 (nvenc_h264) (High), yuv420p, 848x480, q=-1--1, 2000 kb/s, 30 fps, 90k tbn, 30 tbc (default)

вот для другого файла

 Stream #0:0(eng): Video: h264 (nvenc_h264) (High), yuv420p, 1916x1032 [SAR 1:1 DAR 479:258], q=-1--1, 2000 kb/s, 23.98 fps, 90k tbn, 23.98 tbc (default)

и только в ручную можно задать битрейт -b:v * -minrate * -maxrate *

9

Re: BDAV mts, m2ts encoding (транскодер tsMuxeR)

pomacik пишет:

подергивания на уже готовом файле, на компе их почему то не видно.

Ну всё правильно, если проц в какое-то время не справлялся, то лаги будут и в готовом файле тоже.

pomacik пишет:

Мне вообще не понятно почему в HMS нет профилей ремуксящих в BDAV (m2ts) минуя Tsmuxer, ведь тут если знания позволяют можно один профиль на все файлы использовать. И битрейт нормальный будет, а не к примеру смотришь mkv с битрейтом 20мбит а mpeg транскодит как минимум в 30-35 мбит и приходится велосипед изобретать чтоб по вайфаю не было всяких затыков.

По простой причине - ffmpeg не может в BDAV. Tsmuxer может.
На сколько я понимаю, самый универсальный профиль это "Фильмы (основной)", который с помощью настроек, функциональности в программе и скрипта самого профиля транскодирования пытается запустить уже другие профили (точнее использовать параметры от других профилей), в зависимости от контента.
Но это сложно. Поверьте наслово, написать универсальное приложение - это очень круто и удобно, но оочень увеличивается сложность, запутанность, сопровождение и соответственно больше вероятности багов и проч.
Устройств много, много стандартов, много разных реализаций этих стандартов, плюс непредсказуемое поведение некоторых устройств. Поэтому сложно сделать что-то совсем универсальное.
Иногда проще иметь разные профили для своих задач и оттачивать их.
Хотя, автор программы тоже, скорее всего, стремится к универсальности.

Например, смотришь фильм mkv с битрейтом 20мбит, а размер (соотношение кадра) у него не стандартное (такое, которое телек не любит, растягивает), приходится транскодировать в нужный размер. А раз приходиться кодировать, то уж сразу в такой формат, который родной для телека. А в настройках выставлено наилучшее качество. Вот он и пыжется в результат 30-35 мбит.
Хотя, автор предусмотрел кучу настроек, чтобы почти на все случаи жизни и таких как мы - есть параметры ограничения качества. Но они, в основном, используются в транскодере hmsmpeg (который на основе ffmpeg). Хоть он и мега комбаин, но всё на свете тоже не может. Так что можно и используются другие программы для перекодирования - транскодеры (VLC, Tsmuxer...). А для них отдельные профили пишутся (ибо разные параметры запуска и проч).

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

pomacik пишет:

п.с по NVENC  я не нашел ключей которые управляют качеством, пресеты вообще на мой взгляд ничего не меняют.

Эх, моя видюха, к сожалению не поддерживает NVENC. Поэтому протестировать не могу.
Так я не понял, вам понизить качество нужно? Или копировать из исходника?
Какой битрейт был изначально в P1040496.MOV?
Какое именно управление качеством вам нужно?

Sony Bravia KDL-32CX523

10 (2016.02.16 01:14:37 отредактировано pomacik)

Re: BDAV mts, m2ts encoding (транскодер tsMuxeR)

проц при ремуксе вообще не учавствует практически, да и проц у меня core i7 :) ffmpeg прекрасно может BDAV

вот MediaInfo

Оригинал

+ открыть спойлер

General
Unique ID                   : 191487626805194477087288350997133803173 (0x900F2CE9EC36545098AF7DD1FFE63EA5)
Complete name               : D:\Загрузки\Видео\How.to.Train.Your.Dragon.2.2014.720p.WEB-DL.Rus.Eng.HDCLUB.mkv
Format                      : Matroska
Format version              : Version 2
File size                   : 3.43 GiB
Duration                    : 1h 42mn
Overall bit rate            : 4 798 Kbps
Movie name                  : How to Train Your Dragon 2 (2014) - Release for HDCLUB
Encoded date                : UTC 2014-08-31 19:54:09
Writing application         : mkvmerge v3.4.0 ('Rapunzel') built on May 15 2010 09:38:20
Writing library             : libebml v0.8.0 + libmatroska v0.9.0

Video
ID                          : 1
Format                      : AVC
Format/Info                 : Advanced Video Codec
Format profile              : Main@L3.1
Format settings, CABAC      : No
Format settings, ReFrames   : 2 frames
Codec ID                    : V_MPEG4/ISO/AVC
Duration                    : 1h 42mn
Width                       : 1 280 pixels
Height                      : 540 pixels
Display aspect ratio        : 2.40:1
Frame rate mode             : Constant
Frame rate                  : 23.976 fps
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 8 bits
Scan type                   : Progressive
Title                       : How to Train Your Dragon 2 (2014) - Release for HDCLUB
Language                    : English
Default                     : Yes
Forced                      : No
Color range                 : Limited
Color primaries             : BT.709
Transfer characteristics    : BT.709
Matrix coefficients         : BT.709

Audio #1
ID                          : 2
Format                      : AC-3
Format/Info                 : Audio Coding 3
Mode extension              : CM (complete main)
Format settings, Endianness : Big
Codec ID                    : A_AC3
Duration                    : 1h 42mn
Bit rate mode               : Constant
Bit rate                    : 384 Kbps
Channel(s)                  : 6 channels
Channel positions           : Front: L C R, Side: L R, LFE
Sampling rate               : 48.0 KHz
Frame rate                  : 31.250 fps (1536 spf)
Compression mode            : Lossy
Stream size                 : 281 MiB (8%)
Title                       : AC3 5.1 @ 384 kbps - DUB, iTunes
Language                    : Russian
Default                     : Yes
Forced                      : No

Audio #2
ID                          : 3
Format                      : AAC
Format/Info                 : Advanced Audio Codec
Format profile              : LC
Codec ID                    : A_AAC
Duration                    : 1h 42mn
Channel(s)                  : 2 channels
Channel positions           : Front: L R
Sampling rate               : 48.0 KHz
Frame rate                  : 46.875 fps (1024 spf)
Compression mode            : Lossy
Title                       : AAC 2.0 @ 160 kbps
Language                    : English
Default                     : No
Forced                      : No

Text #1
ID                          : 4
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Title                       : Forced
Language                    : Russian
Default                     : Yes
Forced                      : No

Text #2
ID                          : 5
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Language                    : Russian
Default                     : No
Forced                      : No

Text #3
ID                          : 6
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Language                    : Ukrainian
Default                     : No
Forced                      : No

Text #4
ID                          : 7
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Language                    : English
Default                     : No
Forced                      : No

ремукс через ffmpeg (микроподергивания кжую сек)

+ открыть спойлер

General
ID                          : 1 (0x1)
Complete name               : D:\SSDsys\Symlinks\Program files\HMS\HmsTemp\Test_50ce60707d847e220a58fcb3d878c295 — копия.m2ts
Format                      : BDAV
Format/Info                 : Blu-ray Video
File size                   : 828 MiB
Duration                    : 21mn 37s
Overall bit rate mode       : Variable
Overall bit rate            : 5 350 Kbps

Video
ID                          : 256 (0x100)
Menu ID                     : 1 (0x1)
Format                      : AVC
Format/Info                 : Advanced Video Codec
Format profile              : Main@L3.1
Format settings, CABAC      : No
Format settings, ReFrames   : 2 frames
Format settings, GOP        : M=2, N=84
Codec ID                    : 27
Duration                    : 21mn 38s
Bit rate                    : 4 745 Kbps
Width                       : 1 280 pixels
Height                      : 540 pixels
Display aspect ratio        : 2.40:1
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 8 bits
Scan type                   : Progressive
Stream size                 : 734 MiB (89%)
Color range                 : Limited
Color primaries             : BT.709
Transfer characteristics    : BT.709
Matrix coefficients         : BT.709

Audio
ID                          : 257 (0x101)
Menu ID                     : 1 (0x1)
Format                      : AC-3
Format/Info                 : Audio Coding 3
Mode extension              : CM (complete main)
Format settings, Endianness : Big
Codec ID                    : 129
Duration                    : 21mn 38s
Bit rate mode               : Constant
Bit rate                    : 384 Kbps
Channel(s)                  : 6 channels
Channel positions           : Front: L C R, Side: L R, LFE
Sampling rate               : 48.0 KHz
Frame rate                  : 31.250 fps (1536 spf)
Compression mode            : Lossy
Stream size                 : 59.4 MiB (7%)
Language                    : Russian

Menu
ID                          : 4096 (0x1000)
Menu ID                     : 1 (0x1)
Duration                    : 21mn 37s
List                        : 256 (0x100) (AVC) / 257 (0x101) (AC-3, Russian)
Language                    :  / Russian
Service name                : How to Train Your Dragon 2 (2014) - Release for HDCLUB
Service provider            : FFmpeg
Service type                : digital television

TsMuxer (кстати из 1:40 отремуксил только 39 минут, вот такие приколы с ним и hms тут не причем )

+ открыть спойлер

General
ID                          : 1 (0x1)
Complete name               : D:\SSDsys\Symlinks\Program files\HMS\HmsTemp\Test_50ce60707d847e220a58fcb3d878c295.m2ts
Format                      : BDAV
Format/Info                 : Blu-ray Video
File size                   : 151 MiB
Duration                    : 3mn 45s
Overall bit rate mode       : Variable
Overall bit rate            : 5 614 Kbps
Maximum Overall bit rate    : 35.5 Mbps

Video
ID                          : 4113 (0x1011)
Menu ID                     : 1 (0x1)
Format                      : AVC
Format/Info                 : Advanced Video Codec
Format profile              : Main@L4.1
Format settings, CABAC      : No
Format settings, ReFrames   : 2 frames
Format settings, GOP        : M=2, N=84
Codec ID                    : 27
Duration                    : 3mn 45s
Bit rate                    : 4 999 Kbps
Width                       : 1 280 pixels
Height                      : 540 pixels
Display aspect ratio        : 2.40:1
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 8 bits
Scan type                   : Progressive
Stream size                 : 134 MiB (89%)
Color range                 : Limited
Color primaries             : BT.709
Transfer characteristics    : BT.709
Matrix coefficients         : BT.709

Audio
ID                          : 4352 (0x1100)
Menu ID                     : 1 (0x1)
Format                      : AC-3
Format/Info                 : Audio Coding 3
Mode extension              : CM (complete main)
Format settings, Endianness : Big
Codec ID                    : 129
Duration                    : 3mn 45s
Bit rate mode               : Constant
Bit rate                    : 384 Kbps
Channel(s)                  : 6 channels
Channel positions           : Front: L C R, Side: L R, LFE
Sampling rate               : 48.0 KHz
Frame rate                  : 31.250 fps (1536 spf)
Compression mode            : Lossy
Stream size                 : 10.3 MiB (7%)

upd: ссылка на семплы ffmpeg и tsmuxer https://drive.google.com/folderview?id= … sp=sharing

Так я не понял, вам понизить качество нужно? Или копировать из исходника?
Какой битрейт был изначально в P1040496.MOV?
Какое именно управление качеством вам нужно?

это вообще из другой оперы, так как нашлось решение как делать m2ts , то соответственно я могу всё транскодить в m2ts в формате AVC а не в mpeg, и можно это делать используя nvenc кодек так как нагрузка на проц максимум 10-20%, но вот нету ключей управления качеством, чтоб как в mpeg выставил например -q 4 и переменный битрейт сам уже подстраивается под нужное качество. в P1040496.MOV изначально 10мбит , а во втором файле 15мбит, без установки битрейта nvenc все кодирует с битрейтом в 2мбита :(