KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to read the video frames from the RTSP stream that I get from YouTube. Here is the link for my test video: rtsp://v8.cache5.c.youtube.com/CiILENy73wIaGQkJlrXMiAG8BxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp If I'm reading frames from the local file - everything is fine, but when read them from a stream I get nothing but lots of artifacts. I've googled around and found out that there might be a problem with UDP packets and switching to TCP may help but I really can't find where it is possible to change this. Here is the function for reading a frame: bool nextFrame(AVFormatContext *pFormatCtx, AVCodecContext *pCodecCtx, int videoStream, AVFrame *pFrame) { AVPacket packet; int frameFinished = 0; while( !frameFinished && av_read_frame(pFormatCtx, &packet) >= 0 ) { // Is this a packet from the video stream? if( packet.stream_index == videoStream ) { // Decode video frame avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet); } // Free the packet that was allocated by av_read_frame av_free_packet(&packet); } return frameFinished!=0; } I'm also getting lots of error messages in my log: [h263 @ 0x7804c00] warning: first frame is no keyframe [h263 @ 0x7804c00] illegal ac vlc code at 6x1 [h263 @ 0x7804c00] Error at MB: 18 [h263 @ 0x7804c00] concealing 99 DC, 99 AC, 99 MV errors [h263 @ 0x7804c00] I cbpy damaged at 10 4 [h263 @ 0x7804c00] Error at MB: 58 [h263 @ 0x7804c00] concealing 99 DC, 99 AC, 99 MV errors [h263 @ 0x7804c00] I cbpy damaged at 6 6 [h263 @ 0x7804c00] Error at MB: 78 [h263 @ 0x7804c00] concealing 76 DC, 76 AC, 76 MV errors [h263 @ 0x7804c00] I cbpy damaged at 5 5 [h263 @ 0x7804c00] Error at MB: 65 [h263 @ 0x7804c00] concealing 88 DC, 88 AC, 88 MV errors [h263 @ 0x7804c00] illegal ac vlc code at 7x5 [h263 @ 0x7804
Tags (comma-separated)
Save Edits
Cancel