2011-05-03 7 views
0

Silverlight에서 사용할 HTTP 라이브 스트리밍 클라이언트를 작성했습니다. (MediaElement의 MediaStreamSource로 구현됩니다.)H264 비디오 디코딩 문제 (비디오 포함)

알파 코드는 비디오 디코딩에 이상한 유물이 있다는 것을 제외하고는 꽤 잘 작동합니다. 특히 올바르게 디코딩되지 않는 프레임의 아래쪽에있는 수평 스트립. 내 뜻을 예로 들면 this video을 참조하십시오.

지금까지 볼 수있는 것처럼 프레임이 삭제되지 않습니다.

인코딩은 다음과 같은 명령 줄로는 FFmpeg/X264에 의해 수행되고있다

: 디코더를 넘어 수 있습니다 무엇을 추측 할 수 H264 지식과

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 

누구? 호환성과 관련하여 명백한 문제인지, 아니면 내 코드와 관련성이 높은 것인지 여부에 대해 특히 궁금합니다. NAL 프레임을 네이티브 디코더에 넘기는 버그.

+0

답변을 내 파싱 코드에서 버그가 발생하여 각 PES의 끝 부분에서 불완전한 NAL 단위를 디코더로 보냈습니다. 그래서 .. 그게 어떻게 생겼는지 알지! 실제로 고생하고있는 MS H264 디코더의 명성. C –

답변

0

대답은 내 구문 분석 코드의 버그 였으므로 각 PES의 끝 부분에서 불완전한 NAL 단위를 디코더에 보냈습니다. 그래서 .. .. 그게 어떻게 생겼는지 알지! 실제로 고생하고있는 MS H264 디코더의 명성 C