Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 11032 • Страница 348 из 552<  1 ... 345  346  347  348  349  350  351 ... 552  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Member
Статус: Не в сети
Регистрация: 23.02.2003
Откуда: Самара
Данная тема посвящена извечному вопросу. Нет, быть или не быть можно поискать в поиске, а в этой теме найдете ответы (или предложите свои) на вопросы : о кодировании видео, перекодировки видео из одного формата в другой и т.д.

FAQ по теме - http://forums.overclockers.ru/viewtopic.php?p=219601#219601. Обязателен к прочтению. Вопросы, на которые можно получить ответ в факе, будут удаляться. Особо рьянных будем одаривать картами и баннами.
Отредактировано куратором: Максим. Дата: 12.02.2007 19:31
Отредактировано куратором: SCIF-1986. Дата: 21.06.2007 1:53

_________________
Show yourself and die like a man



Партнер
 

Member
Статус: Не в сети
Регистрация: 14.11.2003
Откуда: урановый рудник
Фото: 1
На страничке http://people.overclockers.ru/Cryogen/record3 есть замечательное руководство, Огромное спасибо его автору.
Но один вопрос остается непонятным. А если я кодирую не с ДВД диска? А видео с DV-камеры. То как мне создать GK AVS файл, чтобы скормить верно его x264GUI?
Еслои в GK просто открыт .avi файл, снятый с камеры, и сохранить в avs, то при открытии x264GUI ошибка Not YV 12 colorspace.




Не подскажите?


 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
Aegis
Вообще-то все легко. Открываешь в GK файл, сохраняешь, а потом в полученный код сразу после avisource добавляешь строчку: converttoyv12()
Будет выглядеть примерно так:
Код:
AVISource("G:\myvideo.avi").converttoyv12()

Добавлено спустя 42 секунды
Кстати, автор той статьи я. ;) И она по полной не доделана

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Member
Статус: Не в сети
Регистрация: 14.11.2003
Откуда: урановый рудник
Фото: 1
Mein
Спасибо огромное за помощь. Потрясающе благодарен. Решил мне проблему 1,5 годовой давности. ;]


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
немного, по icq проконсультировал :)


 

Member
Статус: Не в сети
Регистрация: 28.01.2007
Откуда: Москва
Фото: 0
ecSTASy 82 писал(а):
720х384 (в основном видео широкоформатное), фпс 25 или 24. Проявляется на всех фильмах, от динамичных сцен в боевиках до просто пейзажей.

и < 1000kbps - это ты погорячился.

SCIF-1986 писал(а):
Ну так вот я там приводил пример Matrix (1-3), DVD-9, битрейт - 1100, только кропинг. Итог - движущиеся квадраты в некоторых частях фильма. В теме учавствовали Igor_D, RBF и ничего лучшего нежели - "покрути адаптивку" я не получил в ответ. Итог - для себя на всё (на любом источнике) оставшееся время при сжатии иксом или элекардом буду юзать mvdegrain2.


Значит, определенно me-алгоритм виноват, неправильно вес выбран для конкретного блока. Тем более Матрица - довольно темный фильм + шум. Особенно шум.
Две возможных ситуации:
- обнулены моушены у блока. на статике все будет замечательно. при смене сцены блоки "побегут" в разные стороны.
- моушены неупорядочены - без комментариев.
Особенно заметно, если rdo не используется. Но и иногда rdo сбоит, если специально не заточено.


 

Member
Статус: Не в сети
Регистрация: 10.01.2006
Откуда: Санкт-Петербург
mein писал(а):
Смело можно брать любой двухпроходный профиль(побыстрее которые естественно)

Так ведь вроде чем медленнее, тем качественней? Всетаки, хотелось бы максимум качества из него вытянуть, пусть хоть весь день кодирует, пока я на работе.

mein писал(а):
Может лучше качественно переделывать опять в mpeg2?

Ну я ведь это и спрашивал вначале.. Но ребята говорят, что x264 лучше качество сохранит...


И еще пара вопросов.
Как восстановить профили в Мегуи? Я когда обновлял прогу, там выскакивали вконце окошки с профилями, но я не знал, что это и нажимал везде отменить. А потом, когда в профилях пустоту увидел, понял, что это были профили. Как мне их теперь обратно вернуть?

_________________
There is no fate but what we make ourselves


 

Member
Статус: Не в сети
Регистрация: 10.11.2006
Откуда: Владивосток
BeSSeL писал(а):
Значит, определенно me-алгоритм виноват, неправильно вес выбран для конкретного блока. Тем более Матрица - довольно темный фильм + шум. Особенно шум.
Две возможных ситуации:
- обнулены моушены у блока. на статике все будет замечательно. при смене сцены блоки "побегут" в разные стороны.
- моушены неупорядочены - без комментариев.
Особенно заметно, если rdo не используется. Но и иногда rdo сбоит, если специально не заточено.

Повторюсь - шума там нет. Там есть зерно (любимое многими "тру"-киношниками) и вот оно как раз является фактически шумом.
На счёт me - ну и как мне интересно ты предлагаешь кодеку отличать капли дождя (колышущуюся траву.....) от паразитных движений?? Кодек призван передавать всё как есть с максимальным сходством, в отличие от шумодавов, вот он и пытается зерно передать. На счёт двух возможных ситуаций - не понял обе.
1) что такое "обнулены" "моушены" (тут ты имеешь ввиду "motion vectors"?) у блока? Кем обнулены? Лог файл битый? :D
2) это как?? Блоку из следующего кадра лепит вектор из предыдущего?? :haha:

_________________
http://scif.net.ru/ Перевод контекстной справки MeGUI (согласован с RBF'ом и MuTeK'ом)
"Чтобы попасть в Рай, нужно переплыть Лету."


 

Member
Статус: Не в сети
Регистрация: 28.01.2007
Откуда: Москва
Фото: 0
SCIF-1986 писал(а):
и вот оно как раз является фактически шумом.

алгоритмы без разницы - настоящий это шум или зерно. он их одинаково воспринимает.

SCIF-1986 писал(а):
На счёт me - ну и как мне интересно ты предлагаешь кодеку отличать капли дождя (колышущуюся траву.....) от паразитных движений??

в отличие от шума, описанные вами ситуации, имеют последовательный характер движения. поэтому моушены ловятся хорошо и достаточно "причесаны".
SCIF-1986 писал(а):
На счёт двух возможных ситуаций - не понял обе.
1) что такое "обнулены" "моушены" (тут ты имеешь ввиду "motion vectors"?) у блока? Кем обнулены? Лог файл битый? :D
2) это как?? Блоку из следующего кадра лепит вектор из предыдущего?? :haha:

1)да, mv, именно их.
"обнулены" - специфический термин, алгоритм обнулил.
2) значит, направлены в разные стороны, что мешает их предсказанию и уменьшает сжатие (уменьшает = хуже сжимает)
учите матчасть ))))


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Cyborg101 писал(а):
Так ведь вроде чем медленнее, тем качественней? Всетаки, хотелось бы максимум качества из него вытянуть, пусть хоть весь день кодирует, пока я на работе.

Ну давайте посчитаем: двухчасовой фильм с двумя дорожками по 448кб(к примеру пусть будет две), после ужатия до 4.3Гб на видео останется > 4000кбит/с + две дорожки без изменений. Для стандартного DVD-разрешения этого битрэйта больше чем достаточно, и разницу между теми же HQ профилями в качестве вы врядли заметите. Попробуйте просто и сравните :) .
Cyborg101 писал(а):
Как восстановить профили в Мегуи? Я когда обновлял прогу, там выскакивали вконце окошки с профилями, но я не знал, что это и нажимал везде отменить. А потом, когда в профилях пустоту увидел, понял, что это были профили.

Ну можно и вручную обновить:
1) http://megui.org/auto/
2) ищем файл STx264*.zip
3) распаковываем профиля в папку: \megui\profiles\video


 

Member
Статус: Не в сети
Регистрация: 10.11.2006
Откуда: Владивосток
BeSSeL писал(а):
1)да, mv, именно их.
"обнулены" - специфический термин, алгоритм обнулил.
2) значит, направлены в разные стороны, что мешает их предсказанию и уменьшает сжатие (уменьшает = хуже сжимает)
учите матчасть ))))

1) ну тут разрабов кодеков H.264 немного тусуется, так что можно не швыряться, извиняюсь за тафтологию "специфичным слэнгом". Что фактически понималось под этой фразой в оригинале я не понимаю до сих пор.
2) как я понимаю это имелось ввиду неупорядоченность движений в исходнике?? Тогда причём тут me-алгоритм кодека?
Матчасть не имеет отношения к слэнгу :)
Далее про колышущуюся траву, дождь и т.п. - на данный момент кодеки жмут их весьма плохо. То что они не идеально отделяют шум от последовательных движений это действительно недоработка rdo кодека. Лучше отделяет mvtools к примеру, жрёт в кучу раз больше процессорного времени. Если Вы имеете в запасе крайне быстрый и дико грамотный алгоритм rdo - продайте Элекарду или по большой дружбе расскажите pengvado или тому же Саблину.
Пока что речь шла о борьбе с квадратами и эти выкладки про теорию работы кодеков по-моему имеют отдалённое отношение к проблеме.

_________________
http://scif.net.ru/ Перевод контекстной справки MeGUI (согласован с RBF'ом и MuTeK'ом)
"Чтобы попасть в Рай, нужно переплыть Лету."


 

Member
Статус: Не в сети
Регистрация: 28.01.2007
Откуда: Москва
Фото: 0
SCIF-1986 писал(а):
1) ...
2) ...

Насчет слэнга - просто я так привык. Если нужны комментарии, то лучше в ЛС, так как это дейтвительно уже оффтоп.

SCIF-1986 писал(а):
Пока что речь шла о борьбе с квадратами и эти выкладки про теорию работы кодеков по-моему имеют отдалённое отношение к проблеме.


Я Вам показал одну из возможных (необязательно что это именно она) причин появления квадратов - огрехи работы алгоритма me на зашумленных и малоконтрастных источниках.


 

Member
Статус: Не в сети
Регистрация: 10.11.2006
Откуда: Владивосток
BeSSeL писал(а):
Я Вам показал одну из возможных (необязательно что это именно она) причин появления квадратов - огрехи работы алгоритма me на зашумленных и малоконтрастных источниках.
Дык вроде в причины (получилось даже больше "в бутылку") я и не лез и смысла не вижу лезть, так как настройками на данный момент это не решаемо. Я писал про конкретный пример когда большинство средств не помогло и на мой взгляд даже на отличнейшем исходнике не было никаких других вариантов кроме использования шумодава.

_________________
http://scif.net.ru/ Перевод контекстной справки MeGUI (согласован с RBF'ом и MuTeK'ом)
"Чтобы попасть в Рай, нужно переплыть Лету."


 

Member
Статус: Не в сети
Регистрация: 08.09.2003
Откуда: Рига, Латвия
Фото: 1
Немного информации. Перешол c A64 3200@2700 на e4300@3000 (333x9) DDR2 667@333 5-5-5-16
Кодирую один и тот же материал. разрешение 704х512, ресайз Bicubic Sharp, больше никаких фильтров.
А64 35, 5,5
е4300 80, 9,33
Первым проходом я доволен, а вот второй подкачал. Загрузка процессора в первом проходе 2 ядра 100%, температура 71. Второй проход 72-90%, температура 65. И вот что мне пишет в логе Megui

Starting postprocessing of job...
Job completed successfully and deletion of intermediate files is activated
Postprocessing finished!
Looking for job processor for job...
Processor found!
Starting job job2 at 12:26:03
Starting preprocessing of job...
Preprocessing finished!
encoder commandline:
--pass 2 --bitrate 1329 --stats "J:\Double Exposure\de.stats" --ref 8 --mixed-refs --no-fast-pskip --bframes 3 --b-pyramid --b-rdo --bime --weightb --filter -2,-2 --subme 7 --trellis 1 --analyse all --8x8dct --vbv-maxrate 10000 --ratetol 2.0 --me umh --threads 2 --thread-input --progress --no-psnr --no-ssim --output "J:\Double Exposure\de.mp4" "J:\Double Exposure\de.avs"
successfully started encoding
Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)Exception when trying to update status while a job is running. Text: Attempted to divide by zero. stacktrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MeGUI.core.details.JobControl.UpdateGUIStatus(StatusUpdate su)

В настройках Threads=0 авто
Интересно кто тут халтурит я или кодек?

_________________
i9-14900K/ASUS Z790M-PLUS/Gskill 32GB DDR5/ASUS TUF RTX5080/SF Leadex VII Pro 850/Jonsbo D31/LG42LV4500


 

Member
Статус: Не в сети
Регистрация: 26.05.2005
Откуда: Москва
Поставь 2 и не парься


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Cyborg101 писал(а):
Подскажите мне тогда хорошую програмулину для сжатия DVD до 4.3 Gb

Не могу советовать, т.к. не было необходимости знакомиться с подобным.
manjak писал(а):
Интересно кто тут халтурит я или кодек?

MeGui переклинило наверное. Видимо енкодер выдал нечто в stderr и программа не переварила это :) . Можно действительно попробовать поиграться с параметром threads(0..2). Ещё запустить голый x264(с теми же параметрами) и посмотреть что же он там выводит.


 

Member
Статус: Не в сети
Регистрация: 08.09.2003
Откуда: Рига, Латвия
Фото: 1
Фильм закодировался без глюков. Разницы в качестве не вижу. Пробую с параметром 2

_________________
i9-14900K/ASUS Z790M-PLUS/Gskill 32GB DDR5/ASUS TUF RTX5080/SF Leadex VII Pro 850/Jonsbo D31/LG42LV4500


 

Member
Статус: Не в сети
Регистрация: 13.01.2006
Ситуация такая. Есть два VOB файла по 350 мегабайт. Каждый VOB файл содержит до фига песен. С какой целью песни были собраны в один VOB файл не понятно, но теперь мне нужно конвертировать их в МР3. Подскажите пожалуйста, с помощью какой программы возвожно VOB файл конвертировать в МР3?И возможно ли сделать так чтобы каждая песня была отдельна?


 

Member
Статус: Не в сети
Регистрация: 10.11.2006
Откуда: Владивосток
INForce, прога vStrip думаю тебе поможет - только немного подразобраться с ней надо. А на счёт конвертирования - умеет BeHappy, но возможно у тебя в вобах уже мп3шки лежат и тебе просто нужно демуксить их оттуда.
Cyborg101, что за непонятливость?? С личными вопросами в ЛС!!

_________________
http://scif.net.ru/ Перевод контекстной справки MeGUI (согласован с RBF'ом и MuTeK'ом)
"Чтобы попасть в Рай, нужно переплыть Лету."


 

Member
Статус: Не в сети
Регистрация: 19.03.2004
Откуда: Томск
Фото: 1
Кто-нибудь в Nero Recode кодит?

Вот за 1.5 года решил новый неро 7.10 (Nero Recode) скачать.

Они там Nero Recode что-то сильно ограничели.

Раньше можно было Maximum vector range: 512, шас 256
Maximum reference frames: вообще до 4 ограничили, раньше ставил 7
и т.д.

Пропал профиль Maximum Definition - AVC

Кто в курсе как включить?


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Незваный Гость Наверное решили, что прирост качества от этих опций минимален. Вот и позаботились о тех, кто любит профиля вида "экстрим" :D . Он и так довольно медлителен.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 11032 • Страница 348 из 552<  1 ... 345  346  347  348  349  350  351 ... 552  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: WhiteRatify и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan