Форум Beholder http://beholder.ru/bb/ | |
Захват и сжатие на лету в h264 http://beholder.ru/bb/viewtopic.php?f=9&t=8749 |
Страница 1 из 2 |
Автор: | YURETS [ 20 дек 2009, 19:09 ] |
Заголовок сообщения: | Захват и сжатие на лету в h264 |
Пробовал сделать захват бехолдером в AVI с кодеком h264 (ffmpeg 264 + ac3) Самое интересное что захват и сжатие выполнялись на 4-ядернике C2 QUAD 2.4 и загрузка процессора не превышала 30 процентов, НО в захвате пошли пропущенные кадры? причем более 10-ти процентов. Вопрос - как задействовать в сжатии все 4 ядра, чтобы не было пропущенных кадров, и есть ли возможность при сжатии использовать CUDA ? |
Автор: | Maxch5 [ 20 дек 2009, 19:52 ] |
Заголовок сообщения: | |
Если я не ошибаюсь CUDA это кодирование видушкой, Для этого нужен специальный кодек с поддержкой этого CUDA(посмотри на сайте производителя). Насчет распределения по ядрам, также нужны специальные кодеки с поддержкой много поточного кодирования(Для ави вряд ли такие есть, там нельзя разбить кадр на части или распределять кадры целиком). |
Автор: | YURETS [ 20 дек 2009, 22:49 ] |
Заголовок сообщения: | |
А может ли бехолдер хватать в mkv, ts/mts/m2ts или в mp4 ? |
Автор: | Maxch5 [ 21 дек 2009, 00:25 ] |
Заголовок сообщения: | |
Тюнеру всё равно, главное чтобы нужный кодек стоял(полный кодек с Декодером и Энкодером) |
Автор: | Yoda [ 21 дек 2009, 14:24 ] |
Заголовок сообщения: | |
писал(а): Тюнеру всё равно, главное чтобы нужный кодек стоял
Ты опять, вот уже в который раз, массово вводишь людей в заблуждение. Нехорошо так поступать. |
Автор: | samfednik [ 21 дек 2009, 16:06 ] |
Заголовок сообщения: | Re: Захват и сжатие на лету в h264 |
писал(а): Пробовал сделать захват бехолдером в AVI с кодеком h264 (ffmpeg 264 + ac3) Самое интересное что захват и сжатие выполнялись на 4-ядернике C2 QUAD 2.4 и загрузка процессора не превышала 30 процентов, НО в захвате пошли пропущенные кадры? причем более 10-ти процентов. Попробуйте захватывать x264vfw, отлично справляется без пропуска кадров, как пишет Бехолдеровский лог файл. На самом деле, при открытии в VirtualDube, всегда пропущенны первые 4 кадра (по-крайней мере у меня). С чем это связано - непонятно, но их можно удалить до первого ключевого кадра и затем прогнать прямопотоковым копированием. ![]() На 3-ей вкладке: Rate control & Other надо поставить в Multithreading (многопоточность) -> Thread = 0 (получите режим авто-определение). писал(а): А может ли бехолдер хватать в mkv...
Смысла сразу захватывать в этот контейнер нет, быстро без кодирования в mkv муксит программа MKVmerge GUI. |
Автор: | YURETS [ 23 дек 2009, 10:28 ] |
Заголовок сообщения: | |
Попробовал, правда на 2-х ядернике, загрузка 100 процентов, но пропусков уже значительно меньше, теперь нужно попробовать на 4-ядернике |
Автор: | YURETS [ 23 дек 2009, 10:29 ] |
Заголовок сообщения: | |
ЗЫ Интересно, планируется ли в бехолдере прикрутить аппаратное сжатие в 264 ? Если бы такое было, без вопросов купил бы новый тюнер. |
Автор: | samfednik [ 23 дек 2009, 22:25 ] |
Заголовок сообщения: | |
Если проц не справляется попробуйте снизить его загрузку записывая звук в РСМ формате(без сжатия). Вся его работа пойдёт на обработку видео. (Для 2-х ядреного проца) |
Автор: | Maxch5 [ 24 дек 2009, 00:02 ] |
Заголовок сообщения: | |
Посмотри еще одну штуку: В диспетчере задач правым кликом по процессу и выбери "задать соответствие...", это разрешение процессу выполнятся на определённом ядре. |
Автор: | EugeneF [ 24 дек 2009, 01:54 ] |
Заголовок сообщения: | |
Это только сократит производительность в два раза... |
Автор: | DOSMOD [ 20 мар 2010, 20:08 ] |
Заголовок сообщения: | |
после удаления эти 4х кадров заметно смещается звук можно ли чтото сделать в виртуалдубе? |
Автор: | samfednik [ 20 мар 2010, 21:33 ] |
Заголовок сообщения: | |
Конечно можно. В Virtualdube на закладке Аудио -> Чередование (Interleaving) задаёте смещение: ![]() |
Автор: | DOSMOD [ 21 мар 2010, 10:17 ] |
Заголовок сообщения: | |
при открытии записано фала в Virtualdube появляется вот такое сообщение: Код: [!] AVI: Stream 0 (video) has a non-zero start position of 2 samples (+80 ms).
VirtualDub does not currently support a non-zero start time and the stream will be interpreted as starting from zero. и естественно при воспроизвидении звук опережает видео после удаления первых 4х кадров пробовал в окне Interleaving добавлять эти 80мс но это нечего не дало, звук всеарвно опережает... |
Автор: | samfednik [ 21 мар 2010, 23:47 ] |
Заголовок сообщения: | |
Ничего страшного в этом сообщении нет. писал(а): после удаления первых 4х кадров пробовал в окне Interleaving добавлять эти 80мс но это ничего не дало, звук все-равно опережает...
Почему именно 80мс добавляете? Пробуйте другие значения, пока не обеспечите синхронность, тем более в самом Virtualdube сразу и смотрите, чтобы была синхронность (Enter - фильтрованный просмотр). Ещё проще открыть видео сначала в Media Player Classic, и нажимая (+ или -) на доп. цифровой клавиатуре определить аудио задержку, а потом это значение прописать в Virtualdube. Вы поймите, что не после удаления 4-х первых кадров у вас происходит рассинхронизация видео с аудио потоком (т.к. Virtualdub вырезает видео вместе с аудио), а из-за того, что сам контейнер AVI проблематичный в этом плане. Справка: По мере возможности, старайтесь не делать захват в AVI, со сжатием аудио на лету. Это грозит рассинхронизацией видео и аудио потоков, либо при использовании некоторых аудиокодеков, может вызвать внезапную остановку записи. Используйте аппаратный формат аудио - PCM. P.S.: Удачи! |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |