Tag: video流

将alpha通道写入已解码的ffmpeg帧

我正在寻找一种快速的方法将我自己的alpha通道添加到解码的ffmpeg帧。 我有一个带有RGB信息的AVI文件,我有一个描述透明度alpha通道(灰度)的同步video流。 在使用ffmpeg解码AVI文件时,我想将输出帧转换为RGBA,同时添加我自己的alpha信息。 最后,我将获得一个半透明的video流。 是否有任何优化的函数,可能在libswscale或libswresample中,做这样的事情比迭代像素更好? 基本上我希望能够编写这样的函数,如果我只有sws_scale_and_add_alpha这样的函数: void* FFmpegLib_nextFrame_withAlpha(void* _handle, uint8_t* my_alpha_channel) { FFmpegLibHandle* handle = (FFmpegLibHandle*)_handle; AVPacket packet; int frameFinished; while(av_read_frame(handle->pFormatCtx, &packet) >= 0) { // Is this a packet from the video stream? if(packet.stream_index==handle->videoStream) { // Decode video frame avcodec_decode_video2(handle->pCodecCtx, handle->pFrame, &frameFinished, &packet); // Did we get a video frame? if(frameFinished) { sws_scale_and_add_alpha ( […]

为什么RTP / RTSP干扰我的H.264 NAL?

我查看了RFC并注意到可以解释为什么会发生以下情况(虽然解码器仍然可以生成原始电影)。 我使用VSS h.264编码器传输H.264 / AVC nals,字节流看起来像这样的E5 46 0E 4F FF A0 23 …… 当我在RTP Broadcaster / RTSP接收器之后读取接收器侧的电影数据时,我得到额外的未知数据,但总是在相同的位置,在开始代码前缀(0x00000001)之前添加8个字节,在开始代码之后添加2个字节前缀看起来像这样。 XX XX XX XX XX XX XX XX 00 00 00 01 XX XX,然后我查看Wireshark,我可以看到RTP将字节添加到数据有效负载。 为什么会发生这种情况? 为什么解码器似乎能够很好地应对那些额外的字节?!

如何使用C程序直播video。 什么应该是HTTP回复? 如果可能,我如何使用分块编码?

(实际问题已被编辑,因为我成功地进行了直播,但现在我不理解客户端和我的C代码之间的通信。) 好吧,我终于使用我的C代码进行直播。 但我不能理解“HTTP”是如何在这里工作的。 我使用wireshark在链接http://www.flumotion.com/demosite/webm/上研究了我的浏览器和服务器的通信。 我发现客户端首先发送此GET请求 GET /ahiasfhsasfsafsgfg.webm HTTP/1.1 Host: localhost Connection: keep-alive Referer: file:///home/anirudh/Desktop/anitom.html User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13 Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 Range: bytes=0-1024 对于此获取请求,服务器通过发送此回复来响应 HTTP/1.0 200 OK Date: Tue, 01 Mar 2011 06:14:58 GMT Connection: close Cache-control: private Content-type: video/webm Server: FlumotionHTTPServer/0.7.0.1 然后服务器发送数据,直到客户端断开连接。 […]

opencv中的video文件

我想阅读video文件(.avi或.mov)并使用Opencv检测运动和边缘。可以帮助我使用代码吗?我想创建一个GUI,我们可以在其中选择video文件,然后我们就可以进行图像处理了opencv中的函数?