Воспроизведение видео показывает линии разломов, где похоже, что части двух кадров соединяются вместе (правка: называется «разрыв»)

745
A.M.

Я использую Gentoo Linux с ядром 3.8.13 x86 дома и ядром 3.10.4 x86_64 на работе.

Когда я смотрю 720p или 1080p HD .mkv с видео H264 MPEG-4 в полноэкранном режиме (VLC, mplayer), я часто вижу странные линии, которые немного раздражают. Они появляются, как я думаю, на ключевых кадрах.

Вот скриншот. Потому что невозможно описать проблему. Посмотрите на лоб Оби-Вана: enter image description here

Я уже пытался включить деинтерлейсинг с помощью Yadif и Yadif 2x, как предлагалось на различных форумах в Интернете, но это не помогло.

Я использую CONFIG_HZ_1000=yв своей конфигурации ядра, и я попытался CONFIG_HZ_100=y, это, кажется, не имеет никакого значения.

Любая помощь с благодарностью!

UPD1: ускорение графического процессора невозможно включить или отключить: enter image description here

UPD2: Не повезло с включенной VSync:

xrandr -q --verbose | grep 1280x800 LVDS connected 1280x800+0+0 (0x1e1) normal (normal left inverted right x axis y axis) 331mm x 207mm 1280x800 (0x54) 71.0MHz -HSync -VSync +preferred 1280x800_60.00 (0x1e1) 83.5MHz -HSync +VSync *current 

UPD3: после включения VSync я изменил вывод видео в VLC на OpenGL GLX (XCB).

Теперь все работает без нареканий!

Большое спасибо всем, кто помог, и я надеюсь, что это поможет всем, кто столкнулся с той же проблемой!

3
1. Кажется маловероятным, что это ключевые кадры. Они должны быть чем угодно, кроме ключевых кадров. 2. Что такое видеокодек? Это важнее, чем тот факт, что это .mkv. 3. Вы играли это на другом устройстве, чтобы проверить это? A.M. 11 лет назад 0
1. Вероятно 2. Кодек: H264 - MPEG-4 AVC (part10) (avc1), 1280x546, 23.976215 FPS, Planar 4: 2: 0 YUV 3. Я пытался воспроизвести его на работе на интегрированном графическом процессоре Intel Core i7 3770K. 4. Каждое видео 1080p или 720p, которое я пробовал, имеет те же самые проблемы с разрывом ... 11 лет назад 0

2 ответа на вопрос

1
Robert Rouhani

Для меня это выглядит как вертикальный разрыв, что означает, что ваш графический процессор выкачивает кадры быстрее, чем экран может их отобразить. Обычно это более распространенная проблема с играми и другими интерактивными вещами, поскольку при воспроизведении видео обычно включена V-синхронизация.

Если вы используете ускорение GPU в VLC, попробуйте отключить его (вкладка «Входы и кодеки» в «Предпочтениях», есть флажок «Ускорение GPU») и посмотрите, имеет ли это значение.

Вы также можете попробовать принудительно установить V-sync на стороне водителя и посмотреть, будет ли это иметь значение.

GPU ускорение не может быть включено / отключено. Пожалуйста, взгляните на новый скриншот в ** UPD1 ** 11 лет назад 0
Да, его экран рвется. Включение V-Sync поможет. Keltari 11 лет назад 1
Как я могу узнать, включен ли он? `glxgears` выводит это:` 300 кадров за 5,0 секунд = 59,903 FPS` 11 лет назад 0
Ну, теперь я вижу ... `xrandr -q --verbose | grep 1280x800` выводит `LVDS подключен 1280x800 + 0 + 0 (0x54) нормальный (нормальный левый инвертированный правая ось x ось y) 331mm x 207mm 1280x800 (0x54) 71.0MHz -HSync -VSync * ток + предпочтительный`. Теперь мне нужно выяснить, как это включить :) 11 лет назад 0
Я включил VSync, ничего не изменилось ... :( 11 лет назад 0
Хм, глядя на скриншот ближе, похоже, что это не прямые линии разрыва, это квадратные блоки видео, начинающиеся слева вверху и движущиеся внизу справа. Так что это может быть не связано с аппаратной V-Sync, но проблема, скорее всего, все еще связана с тем, что обновление и рендеринг не синхронизированы, возможно, на уровне кодека или где-то еще, что, к сожалению, не является моей сильной стороной. Robert Rouhani 11 лет назад 0
На самом деле это не работает в VLC, но работает без сбоев в mplayer с `-vo xv: adapter = 0`! Спасибо всем, я думаю, это решает, что ... 11 лет назад 0
0
TSJNachos117

Это не похоже на проблему с каким-либо конкретным кадром. Скорее всего, ваша видеокарта слишком перегружена, чтобы показывать видео без задержек. Вы заметили больше разрывов с видео с более высоким разрешением? Больше пикселей означает больше работы для вашего оборудования. Высокая частота кадров также может привести к увеличению объема работы, поскольку у нее меньше времени для обработки всех этих крошечных пикселей в данном кадре.

Вы должны попробовать поэкспериментировать с различными драйверами Video Output. ИДК насчет VLC, но Mplayer лучше всего справляется с XV. Если вы и используете XV с так называемыми «адаптерами», это может помочь еще больше повысить вашу производительность (например, -vo xv: adapter = 0). Если вы все еще испытываете разрыв, вы можете попробовать использовать программное масштабирование для уменьшения разрешения (-vf-add scale = 720), если у вас быстрый ЦП.

Если все вышеперечисленное дает сбой, ваш графический процессор, вероятно, просто недостаточно быстр для HD-видео. Вы можете попробовать купить более новую и быструю модель. Или, возможно, вы можете использовать программу для конвертации видео, такую ​​как FFMpeg, чтобы конвертировать видео в более низком разрешении. Если вам не нравятся командные строки, вы также можете использовать XMedia-Recode (графический интерфейс на основе Windows), так как он довольно хорошо работает с WINE . Домашняя страница на немецком языке, но вы можете скачать его с видео справки, если вы чувствуете себя более комфортно получать его с английского сайта. В любом случае, XMR будет работать на английском языке.

1. Попробовал сначала запустить mplayer с `-vo xv: adapter = 0` - тоже самое, потом я попробовал с` -vo xv: adapter = 0 -vf-add scale = 720` - без разницы. 2. Дома я использую VGA для Advanced Micro Devices [AMD] или ATI RC410M [Mobility Radeon Xpress 200M]. 3. На работе я использую `Intel Core i7 3770K интегрированный GPU`. Проблема в том, что у меня не было этих проблем на Win7 ... :( 11 лет назад 0

Похожие вопросы