这两方面的工作我刚好都做过,
SDL 可以认为是一个游戏引擎,在屏幕上画图片,SDL给你封好了一些事件和图像相关函数,比如变色,拉伸,可以很容易的做出小人儿拿剑打怪的帧动画,(不限于此)
ffmpeg是几乎所有文件格式的封装,图像,音频,视频,但我们主要用的是视频流的编解码,
网上很多ffmpeg SDL在一起的例子,只是用ffmpeg把视频分解成图片,再用SDL在屏幕上画出图片,其实它们没有任何关系,只是SDL要的输入是用ffmpeg做的输出,用hge甚至unity做也是一样,只是SDL简单易用而以,
SDL是一个媒体抽象层,把显卡图形、音频、键鼠杆输入等都用统一的接口定义,让使用SDL的源码不须大改动,能在不同操作系统win/linux/bsd/unix/macos上的编译运行。
ffmpeg是对一些影音编解码器、容器格式读写器、效果处理滤镜的整合,提供转换和改动的统一接口。
联系起来,比如用ffmpeg做数据解码,用SDL绘图显示和键鼠操控,就成了一个媒体播放器。