- 博客(7)
- 资源 (9)
- 收藏
- 关注
转载 ffmpeg+sdl教程----编写一个简单的播放器6(其他的时钟同步方式)
在理解上一个教程的基础上,这篇教程就稍微容易理解些了,不外乎多加了两种同步方式,同步音频到视频,同步音频视频到外部时钟。 这篇教程主要是新增了不少新变量,is->video_current_pts用于保存当前视频帧的时间戳(以秒为单位),只在video_refresh_timer函数中播放一帧视频前改变,is->video_current_pts_time单位为毫秒,在stream_comp
2014-08-29 09:55:19 712
转载 ffmpeg+sdl教程----编写一个简单的播放器4(让程序更模块化)
上个教程为视频加入了音频,但是音频和视频间完全没有同步,各自播放各自的数据帧,我们将在下一个教程实现音频和视频之间的同步,再那之前需要先做一些准备工作。 为了让程序更模块化,便于扩展,需要把原来main函数中的各个功能模块代码分离出来放在相应的函数中。该教程和上个教程相比代码量和难度都增加很多,比上个教程使用了更多的线程,一定要理解清楚各个函数和数据结构之间的关联以及线程之间如何
2014-08-29 09:53:53 543
转载 ffmpeg+sdl教程----编写一个简单的播放器7(处理快进快退命令)
这篇教程例子中的程序,让右方向按键为快进10秒,上方向按键为快进60秒,左方向按键为快退10秒,上方向按键为快退60秒,程序中的av_seek_frame函数可能是用错了,或者函数本身的问题导致按上和右都没反应;按左和下让画面暂停,声音在很短区间内不停播放,这时再按右和下才正常。 [cpp] view plaincopy #includ
2014-08-29 09:53:30 1005
转载 ffmpeg+sdl教程----编写一个简单的播放器3(为视频加入音频)
上个教程实现了视频的简单播放,但那是个哑巴电影,完全没有声音。 这个教程第一次用到了SDL的线程,涉及到了两个线程间的同步协调,有几个地方需要特别留意,SDL_OpenAudio库函数会打开音频设备(0是恢复,其他的是暂停),SDL_PauseAudio库函数可以暂停或者恢复audio_callback函数的执行,程序中的这行代码“SDL_PauseAudio(0);”执行后,让
2014-08-29 09:53:08 714
转载 ffmpeg+sdl教程----编写一个简单的播放器2(输出视频到屏幕)
下面完整代码,在vc2005下编译通过。可以看到,程序运行后视频播放出来了,但是由于没有加入播放延迟,视频简直跑疯了,为视频加入延迟将在教程五中实现,目前可以简单地让程序在播放完一帧后,sleep若干秒,改善一下运行状况。 [cpp] view plaincopy // ffmpegExe.cpp: 主项目文件。 #include
2014-08-29 09:52:20 979
转载 ffmpeg+sdl教程----编写一个简单的播放器5(同步视频到音频)
个人认为,这这部分教程的新增代码量虽然不是最多的,难度却是最大的,重复看了多次才明白,因为有两个问题的困扰,搞得还不清楚: 1.音频和视频既然都有各自的时间戳,各自按各自的时间戳来播放不就行了,为什么还需要同步呢? 2.如果要把视频同步到音频,怎么同步?或者说以什么标准来同步? 第一个问题的答案可能是,一是音频和视频的开始播放的时间是不一样,二是播放每帧音频或视频时可能必
2014-08-29 09:52:17 1153
转载 ffmpeg+sdl教程----------编写一个简单的播放器1
最近在研究ffmpeg,由于详细介绍ffmpeg的文档资料很少,有人就说了学习ffmpeg的最好办法就是看一些可以正常工作的代码,当你看懂了ffmpeg.c和ffplay.c两个文件就算入门了,但是这两个文件相当恐怖啊,一个4300行,一个3200行,初学者难免看着难免头晕吃力,可以先从简单的开始,比如output-example.c和api-example.c,然后再去网上找点稍微复杂点的例子来
2014-08-29 09:49:29 869
ANDROID_2.0游戏开发实战宝典.pdf
2013-03-26
Qt 参考 文档 教程 Qt参考文档教程
2010-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人