11 2018 档案

摘要:版本迭代 ffmpeg解码API经过了好几个版本的迭代,上一个版本的API是 解码视频:avcodec_decode_video2 解码音频:avcodec_decode_audio4 我们现在能看到的很多解码例子用的都是这两个,不过现在ffmpeg更推荐用新一代的API 向解码器输送数据包:avcodec_send_packet 从解码器获取帧:avcodec_receive_fram... 阅读全文
posted @ 2018-11-30 00:40 TaigaComplex 阅读(6706) 评论(0) 推荐(2) 编辑
摘要:音频与视频在播放当中可能会由于种种原因(如:音视频并非在同一时间开始播放,或视频由于解码任务繁重导致输出图像延迟等)导致音频与视频的播放时间出现偏差,这种就是音视频的同步问题,本文会对音视频同步进行讨论。 有三种音视频同步方式: 常见的实现方式是把视频同步到音频时钟。主要原因是,对于延迟以及卡顿,人 阅读全文
posted @ 2018-11-24 00:58 TaigaComplex 阅读(990) 评论(0) 推荐(0) 编辑
摘要:在前面的文章中,我们分别实现了视频图像解码、播放,音频解码、播放,现在则需要把这些功能组合起来。总体上来说,整个程序的功能可以分为两条线路:视频以及音频,两条线之间除了后续的同步操作之外基本没有任何关联。而在线路当中,各个模块之间并没有太紧密的耦合,只要上游模块提供了原料,下游模块就可以执行处理。因 阅读全文
posted @ 2018-11-20 01:21 TaigaComplex 阅读(757) 评论(0) 推荐(0) 编辑
摘要:音频的同步并不需要我们在程序实现。在设置好声道、采样率、音频格式后,程序只需要保证能一直提供音频数据就行,其余工作基本都由声卡实现。 阅读全文
posted @ 2018-11-05 00:32 TaigaComplex 阅读(375) 评论(0) 推荐(0) 编辑
摘要:两种SDL音频输出方式 我们这里采用SDL来进行音频输出。SDL提供两种音频输出的方式: 如果在SDL_OpenAudio时不指定callback,那么可以调用SDL_QueueAudio主动地向音频输出设备输送音频。这种方式的实现中,SDL维护一个音频队列,并从该队列中提取音频数据输出到音频设备, 阅读全文
posted @ 2018-11-05 00:02 TaigaComplex 阅读(1019) 评论(0) 推荐(0) 编辑
摘要:提取音频,具体点来说就是提取音频帧。提取方法与从视频文件中提取图像的方法基本一样,这里仅列出其中的不同点: 1. 由于目的提取音频,因此在demux的时候需要指定的是提取audio stream 2. 在decode时,解码音频与解码视频分别采用的是不同的API 3. 由于本播放器的音频输出实现是基 阅读全文
posted @ 2018-11-03 17:52 TaigaComplex 阅读(861) 评论(0) 推荐(0) 编辑
摘要:不仅限于ffmpeg,音频采样所得的PCM都含有三个要素:声道(channel)、采样率(sample rate)、样本格式(sample format)。 声道 当人听到声音时,能对声源进行定位,那么通过在不同的位置设置声源,就可以造就出更好的听觉感受,如果配合影像进行音频位置的调整,则会得到更好 阅读全文
posted @ 2018-11-02 03:07 TaigaComplex 阅读(2787) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示