Текущее время: 24 апр 2024, 10:50 • Часовой пояс: UTC + 3 часа
Сообщения без ответов | Активные темы

Сжатие захваченного в Mpeg2 потока с использованием avisynth

Начать новую темуОтветить на тему Страница 1 из 2 [ Сообщений: 19 ] На страницу   1, 2  След.
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 07 май 2012, 20:18. Заголовок сообщения:  Сжатие захваченного в Mpeg2 потока с использованием avisynth
Аватара пользователя
Зарегистрирован:
    02 янв 2012, 16:55
Сообщения: 376
При попытке сжатия захваченной в mpeg2 (звук захватывается в mp2) телепередачи получается дикий рассинхрон даже без вырезки рекламы. Причем длина видео и аудио по времени одинакова. Сначала индексирую видео dgindex-ом, открываю его в скрипте. Звук пробовал вырезать и в megui, и в скрипте avisynth-а - всё то же самое. Также пробовал сохранять звук в wav pcm отдельно, потом приклеивать его в скрипте ависинта к видео и с нарезкой и без - всё равно рассинхрон. Причем заметил - если видео не очень длинное ~ 1 час, то рассинхрона нет, а если что-то около 2ч, то появляется рассинхрон. Пишу сюда, потому что при сжатии двд-дисков с длинными фильмами, где звук в ac3, рассинхрона нет. В самом исходном видео при просмотре рассинхрона тоже не наблюдается. Открывать пробовал также и другими плагинами - directshowsource, ffms2, с подгонкой кадров и звука к стандартному значению и без - всё то же самое. Кто-нибудь сталкивался ?
Behold H8
Профиль 
Сообщение Добавлено: 08 май 2012, 08:58. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Эксперт
Аватара пользователя
Зарегистрирован:
    23 мар 2007, 14:32
Сообщения: 4034
Откуда: РФ, ДНР, Донецк
А результат в каком формате надо получить?
Если AVI, то лучше всего VirtualDub-MPEG2. Если хотите, дам ссылку.
Я обрабатывал им и 2-3 часовые записи - нормально.

Рассинхрон появляется только если оригинал проблемный. Я сталкивался с таким, когда на тарелке глюки, изображение сыпется кубиками и звук щёлкает. Видимо при этом кодировщику MPEG2 кардинально рвёт крышу и он как-то рушит структуру MPEG2, не знаю. Оригинал смотрибельный на 100%, а AVI-шка не получается. Либо жуткий рассинхрон, либо вообще при кодировании вылетает с какими-то ошибками. Но это бывает ну о-очень редко.

PS. AVISynt-ом не пользуюсь, посему ответить прямо на Ваш вопрос не могу :( .
И видеокассеты я не цифровал, у меня их нет. Как я понимаю, если плёнка убитая, затёртая и заезженная, то там запросто может быть что-то похожее на описанный мной случай со спутниковой тарелкой.
Behold TV 609FM, Behold TV X7
Intel Core i7-4770K, ASUS Z87-K, RAM 32 GB, NVidia GT630 2GB.
Win7, на 10 худо-бедно пахал только X7 влагодаря аппаратному кодировщику.
Профиль 
Сообщение Добавлено: 08 май 2012, 14:35. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    02 янв 2012, 16:55
Сообщения: 376
писал(а):
А результат в каком формате надо получить?
Если AVI, то лучше всего VirtualDub-MPEG2. Если хотите, дам ссылку.

Спасибо, да у меня и так всё есть, если нет - гугл поможет :-)
Жму я в контейнер mp4 кодеком h264, звук - в aac

писал(а):
Рассинхрон появляется только если оригинал проблемный. Я сталкивался с таким, когда на тарелке глюки, изображение сыпется кубиками и звук щёлкает.

Это называется - битый транспортный поток, нужно прогонять прогами tsdoctor или mpeg2repair, хотя они тоже мало помогают

писал(а):
Как я понимаю, если плёнка убитая, затёртая и заезженная, то там запросто может быть что-то похожее на описанный мной случай со спутниковой тарелкой.

А причем тут пленка ? Тюнеру глубоко пофигу, что идет с аналога, хоть просто обычный шум. Вот если ошибки в самом цифровом потоке - тогда это получается как с тарелкой.
По теме - сам оригинал при просмотре идет без рассинхрона, а при просмотре через скрипт вначале видео рассинхрона нет, но со временем видео начинает обгонять звук, под конец расхождение - секунд 10-15, хотя длительность у видео и аудио одинаковая. Ну, и жмется, понятное дело, также. Что-то, мне кажется, с ависинтовскими плагинами не то. Потом попробую дабом повырезать, сейчас времени нет
Behold H8
Профиль 
Сообщение Добавлено: 09 май 2012, 11:17. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    02 янв 2012, 16:55
Сообщения: 376
В-общем, дабом то же самое. Я тут вумные статьи по видеокомпрессии почитал, звук в mpeg2 постоянно синхронизируется в потоке, а сэмплы не всегда совпадают. А если звук отодрать и приклеить потом отдельно, то получается гуляние в ту или иную сторону. Короче, я в звуковом редакторе сжал весь поток на 6 секунд и приклеил так на видео - начало и конец совпадают, а середина гуляет :-)
Лажа, конечно, но эксперимента ради сойдет. Попробую интервидовским кодеком писать, это был майкрософтовский
Behold H8
Профиль 
Сообщение Добавлено: 10 май 2012, 11:32. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    16 окт 2010, 19:41
Сообщения: 271
Откуда: город на Волхове
отключи привязку к частоте файлов и высокий приоритет записи.
Behold TV 409FM, Behold TV 505FM, Behold TV X7
Intel® Core™ i5, 4RAM, GTX660, Win7 x32 Ultimate
Профиль WWW ICQ 
Сообщение Добавлено: 10 май 2012, 14:05. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    02 янв 2012, 16:55
Сообщения: 376
К частоте кадров ? У меня на вкладке "аудио" ваще ничего не активно, может, потому что запись идет по шине ? Я ради эксперимента записал большой кусок интервидео энкодером, попробовал - вроде как рассинхрона нет. А чем приоритет может повлиять на полученный файл ?
Behold H8
Профиль 
Сообщение Добавлено: 30 июн 2012, 17:33. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    13 сен 2009, 14:59
Сообщения: 276
Откуда: Ижевск
AgentSmith
Ах вот Вы, оказывается про какую рассинхронизацию говорили тут, а я-то сразу не понял :)

Да существует такая "фишка" с рассинхроном аудио при открытии скриптами Ависинта.
Но как оказалось, идеально без рассинхрона звук извлекается, если .mpg открыть в самом виртуалдабе, и сохранить только звук (Save Wav) можно в РСМ, либо сжать сразу в AC3 к примеру, если жать в АС3, то может выскочить такая ерунда:
Код:
[!] Dub: input/output thread has not cycled for ten seconds -- possible livelock. (thread location: 777F6194)

Но в итоге получаем полностью синхронную аудио дорогу с видео. (Проверял на более 3-х часовой записи лично).

Пример скрипта:
Код:
SetMemoryMax(800)

LoadPlugin("DGDecodeNV.dll")

i = 2

V = DGMultiSource("(120625-235741).dgi", deinterlace=i).AssumeFPS(25*i)
A = DirectShowSource("(120625-235741).wav").DelayAudio(.012)

AudioDub(V, A)

З.Ы.: Т.к. карточка Нвидия, то пользую крутой плагин DGDecodeNV.
BIOSTAR P43-A7,IntelCore2Quad Q8200 @2.33GHz
GTX260 896MB,DDR2(PC2-6400) 4x1024Mb
Behold TV 609FM, btv_v517 drv_v5350
Windows XP SP3 & Windows7(32bit)
Acer GD245HQ, NVidia 3D-Vision
Профиль 
Сообщение Добавлено: 07 июл 2012, 15:57. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    02 янв 2012, 16:55
Сообщения: 376
Спасибо за примечание. Но я сейчас кодеком intervideo пишу, рассинхрона вроде нет. Открываю полученный после индексации .mp2 звук плагином nicaudio прямо в скрипте

писал(а):
Код:
A = DirectShowSource("(120625-235741).wav").DelayAudio(.012)

А wavsource не проще ?
А чем Intervideo encoder плохой ? Вроде не поддерживает более чем 8-битную точность цвета ? Но я как-то на глаз пиксели не сравнивал, более важно было, что рассинхрона нет :-)
Behold H8
Профиль 
Сообщение Добавлено: 09 июл 2012, 08:33. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    13 сен 2009, 14:59
Сообщения: 276
Откуда: Ижевск
писал(а):
А wavsource не проще ?

Можно и его, в данном случае был просто пример.

писал(а):
А чем Intervideo encoder плохой ? Вроде не поддерживает более чем 8-битную точность цвета ? Но я как-то на глаз пиксели не сравнивал, более важно было, что рассинхрона нет :-)

Ответ ниже, скопировал и выделил с "той" темы:

писал(а):
intervideo - довольно-таки паршивого качества выдаёт результат, и что самое для меня главное - не умеет захватывать интерлейсное видео по полям, т.е. надо использовать плагины деинтерлейса тюнера, которые вообще убивают картинку окончательно.

Ну и чтобы не раскидывать инфу по разным темам отвечу тоже тут:

писал(а):
Лучше захватывать интерлейсное видео кодеком от microsoft, а прогрессив делать уже в скрипте ?

Конечно да.
Да сами сравните.Только у Вас, насколько я понял, видеокарточка от АТИ, тогда Вам надо искать какой-нибудь качественный деинтерлейс-фильтр/плагин для ависинта. Я пробовал разные - ни один не понравился по качеству, но DGDecodeNV.dll для Нвидия-карт - очень качественный результат даёт, причём на аппаратном уровне самой видяхи - налету, используя PureVideo Deinterlacer:

Изображение

Ну а о синхронности звука, я Вам уже ответил как решать эту проблему.

писал(а):
Там в настройках microsoft-кодека можно параметр dc precision выбирать вплоть до 10 бит. Это и есть точность цвета ? Типа - псевдо-HI10P получится ? :-)

Справка как бэ намекает, как его использовать:
"Intra DC precision - Точность вычислений DC коэффициентов в целочисленной арифметике. На малых битрейтах ниже 4000 кБит/с рекомендуется использовать 8Bit. На высоких битрейтах более 7000 кБит/с рекомендуется использовать 10Bit. В остальных случаях лучшее качество дает 9Bit. Выбор "Auto" автоматически подстраивает DC precision под используемый битрейт."
BIOSTAR P43-A7,IntelCore2Quad Q8200 @2.33GHz
GTX260 896MB,DDR2(PC2-6400) 4x1024Mb
Behold TV 609FM, btv_v517 drv_v5350
Windows XP SP3 & Windows7(32bit)
Acer GD245HQ, NVidia 3D-Vision
Профиль 
Сообщение Добавлено: 09 июл 2012, 11:42. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    02 янв 2012, 16:55
Сообщения: 376
samfednik, DGdecodeNV.dll, я так понимаю - это плагин открытия файла индекса mpeg2, использующий для декодирования вычислительную мощь видеокарты, а не деинтерлейсер. Полагаю, для видеокарт Ati похожего плагина может не быть, но мне, в принципе и стандартного хватает :-) Всё равно декодирование и так идет очень быстро, а основная нагрузка от, собственно, сжатия. Вот если бы путевые кодеки сжатия видео ресурсы видеокарты задействовали - это было бы лучше. Прям в драйвере Ati идет своя кодилка, но уж очень примитивная. Зато фильм где-то 1ч40мин длиной у меня жмет аж за 8 минут ! Для деинтерлейсинга я использую встроеные в MeGui плагины, уж не знаю - плохие они или хорошие.
Ещё когда жму этим майкрософтовским кодеком, то в информации о файле значится тип видео - interlaced, при захвате в окне просмотра тюнера гребенку тоже видно, но в полученном файле её нет !
Behold H8
Профиль 
Сообщение Добавлено: 09 июл 2012, 21:51. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    16 окт 2010, 19:41
Сообщения: 271
Откуда: город на Волхове
AgentSmith не майся пиши в mpeg2 dvd на который тюнер изначально заточен.
Из своего опыта: На запись с сжатием тюнер неадекватно реагирует оО (баги разные перечислять не буду)
Особенно если кроме записи включены другие процессы, даже торрент оО
Behold TV 409FM, Behold TV 505FM, Behold TV X7
Intel® Core™ i5, 4RAM, GTX660, Win7 x32 Ultimate
Профиль WWW ICQ 
Сообщение Добавлено: 09 июл 2012, 22:39. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    02 янв 2012, 16:55
Сообщения: 376
samfednik, записал ролик, длиной 1ч. 42 мин. майкрософтовским кодеком, отодрал звук в virtual dub mod, прикрутил его в скрипте - рассинхрон всё равно есть. Субъективно - такой же, как и с родным .mp2. Да и ролик не особо-то длинный. Так что остаюсь пока на intervideo
Genus, имеется в виду - пресет mpeg2 dvd ? Их там два, один - интервидео, другой майкрософт, которые используют те же самые кодеки, соответственно - intervideo и microsoft. И чем же они отличаются от того, если их выбрать вручную ? И mpeg2 - это, что-ли, не сжатие?

писал(а):
На запись с сжатием тюнер неадекватно реагирует оО (баги разные перечислять не буду)

Если подразумевается сжатие в avi mpeg4-совместимыми кодеками, то я его не пользую только из-за того, что в случае какого-либо сбоя (неожиданное завершение работы, отключение света) восстановить файл в большинстве случаев не представляется возможным. Особенно после того, как приказал долго работать мой бесперебойник. Ну, и mpeg2 - это, всё-таки, кодек реального времени
Behold H8
Профиль 
Сообщение Добавлено: 10 июл 2012, 16:29. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    13 сен 2009, 14:59
Сообщения: 276
Откуда: Ижевск
писал(а):
отодрал звук в virtual dub mod, прикрутил его в скрипте - рассинхрон всё равно есть. Субъективно - такой же, как и с родным .mp2.

Каким образом "отодрал"? Если использовать прямопотоковое копирование, то может быть и не получится...
Я пробовал, выбирая "Режим полной обработки", и только тогда извлекал в PCM, всё синхронно.
BIOSTAR P43-A7,IntelCore2Quad Q8200 @2.33GHz
GTX260 896MB,DDR2(PC2-6400) 4x1024Mb
Behold TV 609FM, btv_v517 drv_v5350
Windows XP SP3 & Windows7(32bit)
Acer GD245HQ, NVidia 3D-Vision
Профиль 
Сообщение Добавлено: 10 июл 2012, 17:54. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    02 янв 2012, 16:55
Сообщения: 376
писал(а):
Каким образом "отодрал"? Если использовать прямопотоковое копирование, то может быть и не получится...

Отодрал - save wav

писал(а):
Я пробовал, выбирая "Режим полной обработки", и только тогда извлекал в PCM, всё синхронно.

Но это же тогда нужно и видео сжимать ? Или в потоках выбрать "full processing mode", выбрать pcm, а потом "save wav" ? Что-то у меня там в режиме "no compression (pcm)" справа никакого выбора нет
Behold H8
Профиль 
Сообщение Добавлено: 10 июл 2012, 19:48. Заголовок сообщения:  Re: Сжатие захваченного в Mpeg2 потока с использованием avis
Аватара пользователя
Зарегистрирован:
    16 окт 2010, 19:41
Сообщения: 271
Откуда: город на Волхове
MPEG Video Wizard всё в одном)
Behold TV 409FM, Behold TV 505FM, Behold TV X7
Intel® Core™ i5, 4RAM, GTX660, Win7 x32 Ultimate
Профиль WWW ICQ 
Показать сообщения за:  Поле сортировки:    
Начать новую темуОтветить на тему  Страница 1 из 2  [ Сообщений: 19 ]  На страницу   1, 2  След.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: