C 在Linux上显示视频
我需要写一个小软件,将显示视频。 我对C的图形学一无所知 有什么课? 请给我指一个起点 谢谢, 那鸿 我对C语言的图形一无所知 我强烈建议你先学这个,否则你会很难做到的 无论如何:编写一个性能良好的视频播放器不是一个小壮举。幸运的是,Linux有现成可用的多媒体软件包:C 在Linux上显示视频,c,linux,video,C,Linux,Video,我需要写一个小软件,将显示视频。 我对C的图形学一无所知 有什么课? 请给我指一个起点 谢谢, 那鸿 我对C语言的图形一无所知 我强烈建议你先学这个,否则你会很难做到的 无论如何:编写一个性能良好的视频播放器不是一个小壮举。幸运的是,Linux有现成可用的多媒体软件包: 利巴欣 ffmpeg库(libavformat、libavdevice、libavcodec和libswscale)——由mplayer使用 VLC GStreamer 所有这些都可以嵌入到您自己的程序中。就我个人而言,我推
- 利巴欣
- ffmpeg库(libavformat、libavdevice、libavcodec和libswscale)——由mplayer使用
- VLC
- GStreamer
所有这些都可以嵌入到您自己的程序中。就我个人而言,我推荐libxine或ffmpeg库,因为它们是最可靠和最直接的使用方法。GStreamer在纸上看起来不错,但在稳定性方面有问题(以我的经验)。对于固定时间间隔的视频帧显示,最简单的方法可能是使用一个很好的图形工具包,如。这将为您提供必要的工具,以有一个计时器,绘画视频到屏幕上,等等 如果您计划对压缩视频源(如H.264、MPEG-2等)进行解码,您将需要查看,直接使用GStreamer,或者可能使用ffmpeg库来解压缩视频流,然后使用播放器的框架将其绘制到屏幕上。另一个用于显示视频的是(跨平台):
就是这样。。但是,你不能用OpenCV播放声音,只能播放视频。但是如果你想解决这个问题,那就在不久前使用OpenCV和FFmpeg。我想你是在找库,而不是类!谢谢。我如何使用OpenCV逐帧显示(我使用UDP接收到的)?您想做什么?显示视频文件、显示网络上摄像头的视频或显示某种类型的视频?但第一步是从该连接检索数据流并将其转换为有用的OpenCV数据(
IplImage
)。
int main(int argc, char** argv)
{
cvNamedWindow("xsample", CV_WINDOW_AUTOSIZE);
CvCapture* capture = cvCreateFileCapture("movie.avi");
if (!capture)
{
printf("!!! cvCreateFileCapture didn't found the file !!!\n");
return -1;
}
IplImage* frame;
while(1)
{
frame = cvQueryFrame( capture );
if (!frame)
break;
cvShowImage( "xsample", frame );
char c = cvWaitKey(33);
if (c == 27)
break; // ESC was pressed
}
cvReleaseCapture(&capture);
cvDestroyWindow("xsample");
return 0;
}