Разработка обсуждается тут:
Последний билд качаем тут:
Утилиты построены на базе Intel(R) Media SDK (version: 4.0.760.60435)
Собственно декодер поддерживает mpeg2|h264|vc1|mvc, а энкодер умеет кодировать в mpeg2|h264|mvc.
На вход энкодера могут подаваться:
1. YUV-файл с цветовой субдискретизацией 4:2:0
2. Несжатый AVI-файл с цветовой субдискретизацией 4:2:0
3. Avisynth скрипт с выходным форматом 4:2:0
4. Входная YUV named pipe (коннектится к \\.\pipe\pipename)
Я рассмотрю только кодирование в MVC.
Допустим мы разобрали диск и имеем left.avc и right.mvc
Перекодировать их мы можем коммандой:
Код:
FRIMDecode mvc -i left.avc -i right.mvc -o \\.\pipe\test.yuv | FRIMEncode.exe mvc -i \\.\pipe\test_L.yuv -i \\.\pipe\test_R.yuv -viewoutput -o output_L.avc -o output_R.mvc -w 1920 -h 1080 -f 23.976 -u 4 -cpbsize 3570 -vbr 30000 40000 -l 6 -profile high -level 4.1 -gop 24 4 0 O -EndOfSequence off
В этой комманде можно варьировать значениями:
-u в интервале 1...7 (это качество/скорость.. чем ниже цифра, тем качественнее/медленнее)
-vbr xxxxx yyyyy, где ххххх - средний суммарный битрейт для обоих ракурсов, ууууу - максимальный суммарный битрейт для обоих ракурсов (не забываем, что максимальный битрейт main+dependent+audio+subtitles 64mbps)
-cpbsize 3570 -l 6 -profile high -level 4.1 -gop 24 4 0 O -EndOfSequence off - добавлены для Scenarist-а и соответствия blu-ray спецификации (совместимость не 100%-я, но если в mui-генераторе при импорте .mvc снять галку Enable Spec check mode.. то поток будет принят сценаристом и нормально смуксен).
Всё работает шустро и просто, но без ложки дёгтя не обошлось: энкодер однопроходный и распределением битрейта между ракурсами занимается как ему хочется.
PS: поскольку тестил это решение под сценарист, то и тему разместил в этом разделе. Модераторы, перенесите куда считаете нужным плиз.