Нужен Кодек

Здесь обсуждаются любые продукты компании СофтЛаб-НСК для телевизионного вещания (Форвард Т, Форвард ТС, Форвард Голкипер, Форвард Рефери, Форвард Офис, Форвард Инжест)

Модераторы: Людмила, PR, vd, Даниленко Сергей

Ответить
fedor
Сообщения: 283
Зарегистрирован: 17 янв 2007 13:02
Откуда: Хабаровск

Сообщение fedor »

Поканючу опять про MPEG2. И про Adobe Premiere.
Надеюсь на помощь гуру.
Имеется:
1) Файлы в контейнере mpg с сжатием MPEG2. Профиль сжатия неизвестен, но уверен на 99% что это Main Profile (MP@ML 720×576 25 кадров), PIB, 4:2:0 так как это преобразованный в файл транспортный поток с DVB-S тюнера. Преобразование в файл делается без всяких пересжатий/перекодировок, это точно.
2) Файлы с чередованием полей (стандартный черезстрочный PAL), это точно. Только неизвестно, какое поле первое, верхнее или нижнее.
3) Полученный mpg обрабатывается для разных целей (обрезать/вырезать куски) в Adobe Premiere 1.5 с плагином mpeg_for_Adobe_1.0.5 и экспортируется опять в mpg. Вот тут главная проблема, иногда по не установленной причине видео при проигрывании в FDOnAir начинает "стробить", как будто перепутаны поля. Пробовали с разными настройками плагина, однозначно не "стробит" при выборе в свойствах файла на таймлайне в Adobe Premiere (правой кнопкой мыши) Fields option->Deinterlays. По многолетнему опыту использования Adobe Premiere нашими(да и не только нашими) монтажёрами, данная настройка обеспечивает плавность движений в 99,99% случаев, хотя для производства черезстрочного продукта деинтерлейс как раз и не нужен. Полные непонятки :(. Дальнейший экспорт в mpg делался с установками как верхнего поля первым так и нижнего. На плавности движений это никак не сказывалось.
4) Сейчас на машине с FDOnAir стоит только SoftLab NSK MPEG2 I-frames v2002.
Хочется получить:
1) Ответ на вопрос, имеется ли в стандартной поставке кодеков от SoftLabNsk "полноценный" MPEG2-декодер, понимающий все профили сжатия MPEG2?
vd
у нас есть лицензия только на MPEG2-декодер
2) Если не имеется такого декодера, то какой, на Ваш взгляд, MPEG2-декодер является оптимальным для FDOnAir? И где такой декодер можно взять? И ещё, я так понимаю, что не все декодеры правильно понимают Variable Bitrate и предпочтительно жать в MPEG2 с Constant Bitrate.
3) Ещё раз уточнить, какой правильный для FDOnAir MPEG2-декодер - DirectShow или vfw? Или бывает всё-таки только DirectShow?
4) Нигде не нашёл (из доступного мне) какое правильное чередование полей в MPEG2 (какое поле первое).
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

1. Что значит "в контейнере mpg"? Расширение файла mpg? Это еще ничего не значит - это может быть и Transport Stream, и Program Stream. Впрочем, скорее всего второе.

"Преобразованный в файл транспортный поток с тюнера" - чем и как это делалось? Откуда 100% уверенность, что без перекодировок?

2. Узнать порядок полей можно, проиндексировав файл с помощью FDMPEGIndexer, а потом открыв в программе Index Reader. Она находится здесь:
"C:\Program Files\ForwardT Software\MPEGIndexer\IndexReader.exe"

Если в ней открыть индекс-файл с расширением slm, то она покажет, какой порядок полей прописан в MPEG-файле. Но это еще не означает, что видео закодировано именно с таким порядком полей (хотя обычно это именно так).

3. Не понял, зачем выбирается Fileds option->Deinterlace. Это просто "убивает" поля, делает картинку прогрессивной. И раз выбор порядка полей при сжатии выходного файла никак не помогает, то почти 100%, что проблема именно в исходном файле, который взят со спутника якобы без пересжатия. Потому я и спросил выше, как и чем он преобразовывался из транспортного потока в программный?

4. Кодек SoftLab NSK MPEG2 I-frames предназначен для AVI-файлов, к MPEG-файлам в MPEG-контейнерах он не имеет НИКАКОГО отношения, и в их декодировании не участвует.

Далее ответы на вопросы:

1. Да, в поставке есть полноценный (без кавычек) декодер для MPEG2 IBP любых профилей, производства компании Elecard. Должен декодировать любые MPEG2-форматы и профили.

2. Декодер имеется, а лицензии нет на КОДЕР, читайте внимательно. Другой MPEG-декодер использовать в FDOnAir нельзя, да это и не требуется. Вам нужно разобраться с порядком полей в ваших MPEG2-файлах. Если он там неправильный, то с любым другим декодером будут те же самые проблемы.

Жать можно с Variable Bitrate, никаких проблем не должно быть. По крайней мере, наш декодер VBR понимает и нормально с ним работает.

3. Опять путаница. VfW-декодера для формата MPEG2 IBP у нас нет. Есть MPEG2 I-frames only (только ключевые кадры), и только для видео в контейнере AVI. Для видео в контейнерах MPEG у нас стоит DirectShow-декодер от Elecard, но произвольный другой декодер использовать нельзя.

4. В MPEG2 по стандарту допускается любой порядок полей, и FDOnAir это сам определяет при воспроизведении и играет в соответствии с порядком, прописанном в MPEG-заголовке. То, что у вас где-то поля перепутаны, означает, что в заголовке файла прописано, что, например, порядок полей Top Field First, а на самом деле он в файле другой.

Чтобы это выяснить, можете прислать нам небольшой "проблемный" MPEG-файл? Мы на него посмотрим и попробуем разобраться, в чем проблема.
fedor
Сообщения: 283
Зарегистрирован: 17 янв 2007 13:02
Откуда: Хабаровск

Сообщение fedor »

vd
Что значит "в контейнере mpg"? Расширение файла mpg?
Да, расширение файла mpg. А разве mpg это не контейнер?
Исходный файл до перегона в mpg скорее всего m2p (Program Stream), ну а что ещё может идти в транспотном потоке со спутника - только программные потоки (сейчас разговор только про видео).
"Преобразованный в файл транспортный поток с тюнера" - чем и как это делалось? Откуда 100% уверенность, что без перекодировок?
Это делается "цельнотянутой" из просторов Сети утилиткой.
Как и весь подобный софт для других типов файлов самописный, так как нарушает некоторым образом авторское право :) У нас старенький ресивер HIVISION 5000 CI PVR (http://www.allsat.biz/articles.php?lng=ru&pg=463) пишет на свой HDD файлы с расширением .pvr . По ссылке
Алгоритм получения из файла записи ресивера (*.ts) готового DVD-диска пример того, что делаем мы, только у нас файлы не .ts и утилитка не такая как в статье.
2. Узнать порядок полей можно, проиндексировав файл с помощью FDMPEGIndexer, а потом открыв в программе Index Reader. Она находится здесь:
"C:\Program Files\ForwardT Software\MPEGIndexer\IndexReader.exe"
Посмотрю.
Не понял, зачем выбирается Fileds option->Deinterlace. Это просто "убивает" поля...
Так и я про то же, но без этой опции на видеомониторе прыжки/скачки. Но при экспорте в файл в Adobe Premiere 1.5 в настройках MPEG-плагина никакого деинтерлейса нет, есть только выбор типа и величины битрейта, интервал ключевых кадров(и ещё что-то из свойств GOP) и собственно выбор, какое поле ставить первым. Видимо это "тараканы" самого Adobe Premiere и механизма экспорта. На это можно забить один раз экпериментально настроив и сохранив проект. Так мы и сделали. У меня возникло предположение, что все мои вопросы со "строблением" mpg возникли из-за того, что раньше эти mpg обрабатывались в Adobe Premiere 6.5, там и настройки были другие, вот эти старые ролики и "стробят".
Лирическое отступление. Технический контроль видеофайлов у нас осуществляется через Akula VTM 300DE, исторически так сложилось со времён ориентировки нашей компании на продукцию Stream-Labs. Так вот в настройках проигрывания видео в AKULATELE есть чекбокс "Use DShow for MPEG", при активации этой опции те самые старые проблемные файлы mpg идут плавненько-плавненько, без этой опции дёргаются и в AKULATELE и в FDOnAir. Вот откуда мои вопросы про DirectShow и vfw.
Да, в поставке есть полноценный (без кавычек) декодер для MPEG2 IBP любых профилей, производства компании Elecard. Должен декодировать любые MPEG2-форматы и профили.
Отлично, значит с этой стороны всё чисто, минус одно неизвестное из уравнения:)
Другой MPEG-декодер использовать в FDOnAir нельзя, да это и не требуется
Вот хорошо что предупредили, а то уже руки чесались поэкспериментировать с декодерами.
Для видео в контейнерах MPEG у нас стоит DirectShow-декодер от Elecard, но произвольный другой декодер использовать нельзя.

Ну я так и думал что DirectShow-декодер, а как же тогда ...(смотреть Лирическое отступление) Вроде настройки похожи, а поведение разное.
В MPEG2 по стандарту допускается любой порядок полей, и FDOnAir это сам определяет при воспроизведении и играет в соответствии с порядком, прописанном в MPEG-заголовке.
Ещё минус одно неизвестное...
То, что у вас где-то поля перепутаны, означает, что в заголовке файла прописано, что, например, порядок полей Top Field First, а на самом деле он в файле другой.
Скорее всего так и есть, но как узнать наверняка? (Как проверить? Лезть под платье? Так получишь по мордам!!! Высоцкий вспомнился :)) А есть утилитка для быстрой идентификации этих мало употребимых атрибутов видеофайлов или только HEX-редактор. Или IndexReader.exe тут тоже поможет? Определители, каким кодеком закодирован файл, то есть, но они такие тонкости не показывают.
можете прислать нам небольшой "проблемный" MPEG-файл?
Ну если только для вашего спортивного интереса самого процесса получения из сырого потока "нормальных" видеофайлов. Вы бы подсказали как эти проблемные места в файлах посмотреть, а мы бы уж сперва сами, чтобы понять, надо сделать самому. Да и проблема не спешная.
Конечно,все мои вопросы не столько про Форвард, сколько про "вообще", но в Новосибирске уж больно много народу умного живёт...
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Да, расширение файла mpg. А разве mpg это не контейнер?
Контейнер - MPEG2 Program Stream. mpg - расширение файла. Его можно сменить на что угодно, контейнер и вообще файл от этого же не изменится, не так ли?
Исходный файл до перегона в mpg скорее всего m2p (Program Stream), ну а что ещё может идти в транспотном потоке со спутника
Опять путаница. Со спутника идет транспортный поток в контейнере MPEG2 Transport Stream. Почитайте это:
http://en.wikipedia.org/wiki/Transport_Stream

а также в конце страницы - раздел "See also".
Как и весь подобный софт для других типов файлов самописный, так как нарушает некоторым образом авторское право
Для преобразование транспортного потока в программный, гарантированно без пересжатия и правильно, существует хорошая (правда, платная) программа Womble MPEG Video Wizard. Рекомендую пользоваться проверенными инструментами, а не "самописными".
Но при экспорте в файл в Adobe Premiere 1.5 в настройках MPEG-плагина никакого деинтерлейса нет, есть только выбор типа и величины битрейта, интервал ключевых кадров(и ещё что-то из свойств GOP) и собственно выбор, какое поле ставить первым. Видимо это "тараканы" самого Adobe Premiere и механизма экспорта.
Это вовсе не "тараканы", подобные настройки во всех MPEG-плагинах всех монтажек. Зачем делать деинтерлейс? Нужно указать правильный порядок полей для исходного файла и выходного, тогда всё будет нормально. Если порядок полей в исходном файле указан не такой, какой он есть на самом деле, то тогда и возникают проблемы. Можно попробовать вручную в свойствах исходного файла в проекте сменить порядок полей и посмотреть, что получится.

По поводу Акулы - то, что там есть опция "Use DShow for MPEG", нас никак не касается. У нас используется DirectShow-декодер, но не абстрактный, установленный в системе по умолчанию, а только идущий с нашим софтом в комплекте.
при активации этой опции те самые старые проблемные файлы mpg идут плавненько-плавненько, без этой опции дёргаются и в AKULATELE и в FDOnAir.
Не понял: каким образом какая-то опция в Акуле влияет на наш FDOnAor?
Скорее всего так и есть, но как узнать наверняка? есть утилитка для быстрой идентификации этих мало употребимых атрибутов видеофайлов или только HEX-редактор. Или IndexReader.exe тут тоже поможет?
Поможет. Но он покажет, какой порядок полей УКАЗАН для данного файла, но это еще не значит, что сами видеокадры закодированы именно с таким порядком полей. Узнать это можно, только посмотрев глазами. Вы знакомы с AVISynth? Если да, то вот тут рецепт:
http://forum.ixbt.com/topic.cgi?id=29:29520-2#45
Ну если только для вашего спортивного интереса самого процесса получения из сырого потока "нормальных" видеофайлов. Вы бы подсказали как эти проблемные места в файлах посмотреть
Фактически, я бы проверял так:

1. Сначала взял бы исходный MPEG, который со спутника. Проиндексировал бы, посмотрел с помощью Index Reader, какой порядок полей. Кстати говоря, можно его попробовать сразу сыграть в FDOnAir - он должен играть транспортные потоки. Нужно только расширение файла сменить на MPG. Если сразу на телевизоре изображение дергается - значит, программа, которая берет MPEG со спутника, уже портит флаг, который отвечает за порядок полей. Впрочем, это маловероятно, я думаю.

2. Преобразовал бы файл в MPEG Program Stream с помощью MPEG Video Wizard. Опять бы проиндексировал и проверил порядок полей - как с помощью Index Reader, так и глазами, проиграв в FDOnAir (или с помощью рецепта по ссылке выше).

3. Если всё в порядке, можно монтировать файл в Adobe Premiere или чём там ещё. После экспорта опять бы проверил результат.
fedor
Сообщения: 283
Зарегистрирован: 17 янв 2007 13:02
Откуда: Хабаровск

Сообщение fedor »

vd
Со спутника идет транспортный поток в контейнере MPEG2 Transport Stream.
Вы напрасно ставите знак равенства между термином transport stream и MPEG, в DVB-потоке (он же transport stream) не обязательно содержатся видеопотоки, то есть совсем даже может не быть ни одного. Википедия конечно хорошо, но мало-ли кто чего туда понаписал...
Womble MPEG Video Wizard действительно хорошая программа, но наши файлы не понимает, вот сменим тюнер, который будет писать ts, может быть тогда...
За алгоритм отлова правильности полей большой сенкс, как только появится побольше времени (если проблема не обострится) так сразу и займусь.
Только терзают меня смутные сомнения по поводу
Сначала взял бы исходный MPEG, который со спутника. Проиндексировал бы...
и
Нужно только расширение файла сменить на MPG

Если бы было всё так просто, нельзя просто проиграть файл равно как и пытаться проиграть переименованный в mpg файл или что-либо пытаться сделать с "сырым" файлом.
Пример подобных "конвертилок" посмотреть можно здесь http://sat.net.ua/index.php?Lev=files&g ... ultimedia/
Мы пользуемся TPvrConv_2.1.47 и больше ничего другого для наших файлов никто пока не написал. Обратите внимание на обилие типов файлов, используемых производителями ресиверов, одним пресловутым ts тут и не пахнет.
Сколько производителей столько и мнений, единого стандарта нет.
Будем как нибудь работать дальше потихоньку.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Вы напрасно ставите знак равенства между термином transport stream и MPEG, в DVB-потоке (он же transport stream) не обязательно содержатся видеопотоки, то есть совсем даже может не быть ни одного. Википедия конечно хорошо, но мало-ли кто чего туда понаписал...
MPEG Transport Stream без видео, конечно, хорошо, но идет ли такой поток хоть с одного спутника, и интересен ли он телевещателям? Я просто не в курсе.
Womble MPEG Video Wizard действительно хорошая программа, но наши файлы не понимает, вот сменим тюнер, который будет писать ts, может быть тогда...
Что за такой загадочный контейнер создает программа для вашего тюнера, что его MPEG Video Wizard не понимает?
Обратите внимание на обилие типов файлов, используемых производителями ресиверов, одним пресловутым ts тут и не пахнет.
Сходил по данной вами ссылке. Имеются ввиду перечисленные там форматы вроде tts, raw, pwr, vid?
Сколько производителей столько и мнений, единого стандарта нет.
Это действительно так? Производители плюют на стандарты и зачем-то изобретают свои форматы контейнера? Зачем?

Одно могу сказать: мы гарантируем у себя воспроизведение MPEG2 в контейнерах Program и Transport Stream. Если преобразование в эти контейнеры из каких-то нестандартных делалось какими-то "левыми" программами с глюками, то мы ответственности за это нести не можем.
fedor
Сообщения: 283
Зарегистрирован: 17 янв 2007 13:02
Откуда: Хабаровск

Сообщение fedor »

vd
MPEG Transport Stream без видео, конечно, хорошо, но идет ли такой поток хоть с одного спутника, и интересен ли он телевещателям? Я просто не в курсе.
Сервисы интернет, но там конечно не MPEG и телевещателям он конечно никак. Про transport stream это я так, ради общего термина.
Имеются ввиду перечисленные там форматы вроде tts, raw, pwr, vid?
Да.
Одно могу сказать: мы гарантируем у себя воспроизведение MPEG2 в контейнерах Program и Transport Stream. Если преобразование в эти контейнеры из каких-то нестандартных делалось какими-то "левыми" программами с глюками, то мы ответственности за это нести не можем.
Да я же не в претензии, Вы не так поняли, ключевой вопрос мой был
1) Ответ на вопрос, имеется ли в стандартной поставке кодеков от SoftLabNsk "полноценный" MPEG2-декодер, понимающий все профили сжатия MPEG2?
и Ваш ключевой ответ
Да, в поставке есть полноценный (без кавычек) декодер для MPEG2 IBP любых профилей, производства компании Elecard. Должен декодировать любые MPEG2-форматы и профили.
всё остальное частности, наши собственные заморочки. Просто в документации вопрос про MPEG2 практически не освещён, а нам как всегда надо с подробностями вплоть до 5 пункта :). Спасибо большое за разъяснения.
Забыл спросить, как в системе называется этот самый "декодер для MPEG2 IBP любых профилей, производства компании Elecard"?
Ещё раз спасибо. Мы въедливые, работа у нас такая.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

как в системе называется этот самый "декодер для MPEG2 IBP любых профилей, производства компании Elecard"?
В списке DirectShow-фильтров (например, в программе GraphEdit) они называются так:

Elecard Audio Decoder
Elecard MPEG-2 Video Decoder

Только не совсем пойму, какой Вам толк от этой информации. Как я уже говорил, другие MPEG-декодеры в FDOnAir "подсунуть" все равно нельзя.
MadFish
Сообщения: 17
Зарегистрирован: 18 сен 2007 15:33

Сообщение MadFish »

Доброго времени суток. Помогите, не могу воспроизвести видео со звуком в формате MPEG-1 Audio layer 3, ну т.е. видео идет а звука нет.
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Программа Onair (если речь идет о ней) не умеет воспроизводить файлы со сжатым звуком. Работает только с файлами со звуком в формате PCM.
Вы можете воспользоваться приложением C:\Program Files\ForwardT Software\Tools\AVIInterleave.exe, которое может разжать звук в PCM. Для этого в системе должен быть установлен какой-нибудь декодер для MPEG-1 Audio layer 3.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Обычно в современных системах декодер установлен. Если нет, можно скачать Lame ACM mp3 codec (искать на doom9.org).
Ответить