我的视频编码确实存在一些问题,其中包含视频和音频流,因此可以与JavaFX MediaPlayer一起显示。
我正在使用OpenJDK 11和OpenJFX11。对于JavaFX 8,我发现了this documentation on the Oracles page:
支持的媒体编解码器
当前支持的格式如下: -音频:MP3; AIFF包含未压缩的PCM; WAV包含未压缩的PCM;带有高级音频编码(AAC)音频的MPEG-4多媒体容器 -视频:包含VP6视频和MP3音频的FLV;具有H.264 / AVC(高级视频编码)视频压缩功能的MPEG-4多媒体容器
进一步了解支持的功能:
- 带有MP3和VP6的FLV容器
- MP3音频
- 具有AAC,H.264或同时具有两者的MPEG-4容器
对于OpenJFX,我没有找到任何相应的文档,因此我认为在OpenJFX 11中仍然如此。
但是,我遇到了无法在所有环境(Windows,Linux和Mac)上播放视频的问题:
使用H.264和AAC进行编码在Linux和Windows上均有效,但在Mac上则无效 为了进行编码,我在Linux下使用了以下命令:
ffmpeg -i fire.mp4 -vcodec libx264 -acodec aac -strict -2 output.mp4
在所有三个操作系统上,视频编解码器和音频编解码器的哪种组合有效?最好采用ffmpeg转换命令的形式,因为例如存在使用H.264编码视频流的不同选项。