ffmpeg java 播放视频_Javacv和FFmpeg实现视频播放器的制作,并与视频和音频同步运行;...

ffmpeg java 播放视频_Javacv和FFmpeg实现视频播放器的制作,并与视频和音频同步运行;..._第1张图片

最近,使用了javaCV的ffmpeg包的FFmpegFrameGrabber帧抓取器来播放同步的音频和视频帧. 使用的同步方法是视频到音频的同步.

具体思路如下:

(1)首先介绍ffmpeg如何捕获视频文件的图像和声音.

FFmpegFrameGrabberfg = newFFmpegFrameGrabber(“ avideofilepathoraurl);

ffmpeg java 播放视频_Javacv和FFmpeg实现视频播放器的制作,并与视频和音频同步运行;..._第2张图片

在获取帧捕获器对象之后,调用其handle()方法将返回捕获的Frame对象. 该帧可以是视频帧或音频帧. 当然,捕获的帧将被解码并存储在java.nio.Buffer对象中. 对于视频帧,缓冲区用于存储图像的像素数据(例如RGB),然后传递

BufferedImagebi =(newJava2DFrameConverter()). getBufferedImage(f);

您可以获取图片. 所获得的图片可以进行一系列处理,也可以不经处理直接显示在摇摆组件上. 对应于音频帧,缓冲器存储音频的PCM数据. 此PCM可以是浮动的或短路的. 然后使用java.sounds.sample中的sourceDataLine.write方法将这些音频PCM数据写入扬声器.

(2)然后,

你可能感兴趣的:(ffmpeg,java,播放视频)