У меня есть некоторые проблемы с кодировкой моего видео, в котором есть видео и аудиопоток, поэтому его можно отображать с помощью JavaFX MediaPlayer.
Я использую OpenJDK 11 и OpenJFX 11. ДляJavaFX 8 Я нашел эту документацию на странице оракулов :
Поддерживаемые медиакодеки
В настоящее время поддерживаются следующие форматы: - Аудио: MP3;AIFF, содержащий несжатый PCM;WAV, содержащий несжатый PCM;Мультимедийный контейнер MPEG-4 со звуком Advanced Audio Coding (AAC) - Видео: FLV, содержащее видео VP6 и аудио MP3;Мультимедийный контейнер MPEG-4 с компрессией видео H.264 / AVC (Advanced Video Coding)
И далее поддерживаемые функции:
- FLV контейнер с MP3и VP6
- MP3 audio
- Контейнер MPEG-4 с AAC, H.264 или обоими
Для OpenJFX я не нашел ни одного соответствующегопоэтому я полагаю, что это все еще верно в OpenJFX 11.
Однако у меня возникли проблемы, когда мое видео не воспроизводится во всех средах (Windows, Linux и Mac):
- Кодирование с помощью H.264 и MP3 работало в Linux, но не в Windows, даже не тестировало его на Mac (см. Также Медиаплеер JavaFX не воспроизводит видео )
Кодирование с H.264 и AAC работало в Linux и в Windows, но не в Mac. Для кодирования я использовал эту команду под Linux:
ffmpeg -i fire.mp4 -vcodec libx264 -acodec aac -strict -2output.mp4
Какая комбинация видеокодекаd аудиокодек работает на всех трех операционных системах?Предпочтительно в форме команды преобразования ffmpeg, так как есть, например, различные опции для кодирования видеопотока с помощью H.264.