Я работал над FFMpeg
с прошлых 7 дней. Мне необходимо создать видео, где мне нужно выполнить следующее:
Concat
несколько изображений в видео, выбранных из хранилища Android.
Add a music
файл [тот же самый, выбранный из хранилища Android].
Set Duration per image
будет показано на видео. например если выбрано 3 изображения, то общая продолжительность видео должна составлять 3 *, выбранных пользователем.
То, что я сделал до сих пор.
Я использую implementation 'nl.bravobit:android-ffmpeg:1.1.5'
для FFmpeg
предварительно собранных двоичных файлов.
Ниже приведена команда, которая использовалась для объединения изображений и установки продолжительности:
ffmpeg -r 1/duration_selected_by_user -f concat -safe 0 -i path_of_concat_file.txt -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p path_of_output_video_file.mp4
Примечание:
- Путем добавления длительности, выбранной пользователем в качестве частоты кадров, я могу установить длительность каждого отображаемого изображения.
- Конкат работает хорошо, и изображения объединяются для видео.
Проблема:
Когда я пытаюсь добавить аудио в одном и том же процессе, прогресс выполняется в течение длительного времени даже для небольшого аудио с помощью следующей команды:
ffmpeg -r 1/duration_selected_by_user -i path_of_audio_file.mp3 -f concat -safe 0 -i path_of_concat_file.txt -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p path_of_output_video_file.mp4
Похоже, что есть какая-то проблема в команде, так как я не очень хорошо знаком с этой технологией. Как я могу улучшить производительность объединения изображений и звука, чтобы получить лучшие результаты?
Важные ссылки, связанные с контекстом:
https://github.com/bravobit/FFmpeg-Android