我正在尝试为广播流实现高效的音频缓冲区。最初我试图做如下的缓冲 所以最初我有从InputStream提取的HttpUrlConnection。循环缓冲区将填充缓冲区,从输入流中读取数据。在这种情况下,我有3个缓冲区,但是缓冲区的数量和大小可以轻松更改。因此,在所有缓冲区都装满后,我开始将数据从第一个缓冲区写入与OutputStream连接的InputStream中,因此每当我向OutputStream中写入内容时,便可以从InputStream中读取数据。 MediaCodec负责从InputStream读取数据并…

2020年11月29日 0条评论 14点热度 阅读全文

我只想对音频文件进行一些处理而不播放它们。我怀疑我做得对吗,还有几个问题。我读了一些示例,但其中大多数都是关于视频流的,根本没有处理原始数据。 我准备了一个具有2个相同通道的mp3文件,即,它是立体声的,但左侧和右侧相同。解码后,我期望获得具有相等对数的缓冲区,因为PCM-16交替存储通道样本,例如{L R L R L R ...},对吗?例如。: {105 105 601 601 -243 -243 -484 -484 ...}。 但是我得到一对接近的数字,但不相等: {-308 -264 -1628 -1667…

2020年8月21日 0条评论 13点热度 阅读全文

我正在使用OpenCV的Android应用程序上工作。 我有mp4视频文件,我需要从中读取300帧1920x1080的图像,并对它们进行一些图像处理操作。 经过大量搜索后,我最后只找到了this示例。 我的问题是我需要做一个简单的事情,我只想读取帧并将其保存在设备内存中,或者仅将它们转换为OpenCV Matrix。 这是我的尝试(最后解释): public void run() { extractor = new MediaExtractor(); extractor.setDataSource(SAMPLE);…

2020年4月26日 0条评论 20点热度 阅读全文

Closed. This question needs to be more focused。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅关注 editing this post的一个问题。 5年前关闭。 Improve this question 我需要在android中处理音频文件,以了解语音是否连续且无周期。 我需要处理的音频文件不是很大,就时间和大小而言,这是一个很小的文件。 我需要知道是否有任何库或执行此操作的方法,我需要知道如何开始。 解决方案如下: 这是相当广泛的。 我可以为您指出一些起点:…

2020年3月9日 0条评论 31点热度 阅读全文

第一次来这里要保持温柔。 我已经在给定的H.264字节流上工作了几周: 一般注意事项: 字节流不是来自文件,而是从外部源实时提供给我的。字节流使用Android的媒体编解码器进行编码。将流写入扩展名为.H264的文件时,VLC可以正常播放。 我正在努力实现什么?以下之一: 将H264流的帧转换为可保存的图片文件(png / jpeg等)将H264原始字节转换为可被浏览器播放为源的MP4流。 我已经尝试过使用JavaCV(FFmpegFrameGrabber)没有成功,我的主要问题是我不知道如何解析字节流或每个“数据…

2019年12月22日 0条评论 18点热度 阅读全文

我的任务说明:我正在Android(API> = 17)上开发视频播放器。它必须同时与HLS和multicast视频一起使用。此外,它必须支持多个音轨。 为什么我决定使用ffmpeg: 在某些设备上MediaPlayer不支持multicast -video MediaExtractor不适用于HLS(getTrackCount()返回0) ffmpeg与HLS和multicast一起使用 我的想法: 我在循环中使用ffmpeg对流进行解复用。我使用 CSD获取 videoStream->codec-&…

2019年8月18日 0条评论 13点热度 阅读全文

我最近遇到过Android Media Codec API,并且想尝试一个示例项目,查看了我了解流程的文档,并且我知道我必须使用媒体提取器,媒体编码器和媒体混合器来克隆视频,因此应该在表面上应用效果和滤镜,但是难以整合它们,并想通过非常基本的代码片段或示例来了解它们?如果您可以提供片段以克隆视频以及使用表面的示例,将对您有很大帮助 提前致谢。 解决方案如下: 我想您可以看一下grafika项目,它具有mediacodec的所有示例代码。 https://github.com/google/grafika bigfl…

2019年5月20日 0条评论 14点热度 阅读全文