Что не так с моим декодированием видео H264 (ссылка на видео включена)

Я написал клиент HTTP Live Streaming для использования в Silverlight. (Он реализован как MediaStreamSource для MediaElement)

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

Насколько я вижу, кадры не пропадают.

Кодирование выполняется с помощью ffmpeg/X264 со следующей командной строкой:

ffmpeg --segment-length 5 --segment-offset 0 -threads 4 -flags +loop -g 30 
-keyint_min 1 -bf 0 -b_strategy 0 -flags2 -wpred-dct8x8 -cmp +chroma -deblockalpha 0
-deblockbeta 0 -refs 1 -me_range 16 -subq 5 -partitions +parti4x4+parti8x8+partp8x8 -
trellis 0 -coder 0 -sc_threshold 40 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 
-rc_eq 'blurCplx^(1-qComp)' -i inputfile.wtv -aspect 4:3 -s 240x160 -y -async 1 
-f mpegts -vcodec libx264 -bufsize 128k -b 128k -bt 120k -qmax 48 -qmin 2 -r 25 
-acodec libmp3lame -ab 64k -ar 44100 -ac 2 output.ts

Кто-нибудь со знанием H264 может предположить, что может сбить декодер? Мне особенно важно знать, является ли это очевидной проблемой совместимости или может быть что-то более конкретное для моего кода, например. ошибка при передаче кадров NAL собственному декодеру.


person Carlos P    schedule 03.05.2011    source источник
comment
Я отсортировал его - ответ был ошибкой в ​​​​моем коде синтаксического анализа, поэтому в конце каждого PES он отправлял в декодер неполный блок NAL. Итак... ..теперь вы знаете, как это выглядит! Престижность декодеру MS H264 за то, что он действительно борется. С   -  person Carlos P    schedule 03.05.2011


Ответы (1)


Ответ был ошибкой в ​​моем коде синтаксического анализа, поэтому в конце каждого PES он отправлял в декодер неполный блок NAL. Итак... ..теперь вы знаете, как это выглядит! Престижность декодеру MS H264 за то, что он действительно борется. С

person Carlos P    schedule 20.02.2012