Приложение Python Kivy для Android и автокласс Pyjnius FFMPEGAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Приложение Python Kivy для Android и автокласс Pyjnius FFMPEG

Сообщение Anonymous »

Я пытался создать приложение для Android на Python3.12 и Kivy.
Все шло гладко, пока я не попытался загрузить видео с помощью yt-dlp на реальное устройство Android.
Оказывается, он не может просто использовать FFMPEG для такого преобразования видео.
Насколько я понимаю, единственный способ yt-dlp использовать FFMPEG — это скомпилировать его вместе с приложением, для чего я наткнулся на https://github.com/ArqiesAr/FFmpeg-Kit- ... ith-python.
Но поскольку я совершенно не знаком с Java, я не могу понять, как реализовать это в своем коде, и README я просто не совсем понимаю.
В качестве первых шагов укажите шаги по установке SDK/NDK и изменению Buildozer. .spec.
Насколько я понимаю, Buildozer понадобится мне только после того, как я напишу свой код Python и захочу скомпилировать его как Android APK для запуска на устройстве Android.Кроме того, я совершенно запутался в использовании ими Python:

Код: Выделить всё

#IMPORTING jnius
from jnius import autoclass
from jnius import *
#Declaring Variable so it can be used
FFMPEG = autoclass('com.sahib.pyff.ffpy')
поскольку он вернет ошибку:

Код: Выделить всё

Traceback (most recent call last):
File "c:\Users\...\kivy_project\main.py", line 30, in 
FFMPEG = autoclass('com.sahib.pyff.ffpy')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\...\Python\Python312\Lib\site-packages\jnius\reflect.py", line 209, in autoclass
c = find_javaclass(clsname)
^^^^^^^^^^^^^^^^^^^^^^^
File "jnius\\jnius_export_func.pxi", line 22, in jnius.find_javaclass
File "jnius\\jnius_utils.pxi", line 79, in jnius.check_exception
jnius.JavaException: JVM exception occurred: com/sahib/pyff/ffpy java.lang.NoClassDefFoundError
С некоторой помощьюchatgpt я понял, что мне нужны некоторые классы Java в моем
parent/com/sahib/pyff/ffpy, но я просто не понимаю вообще какие и где их взять.
Также в README написано:

Строительство (пропустите эту часть, это для меня, лол) Запустите android.sh в
корневом каталоге проекта, чтобы собрать ffmpeg-kit и общие
библиотеки ffmpeg.

Значит, мне не нужно ничего создавать, а просто взять несколько файлов из самого Git?
Кто-нибудь может объяснить, я действительно в растерянности.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ass-ffmpeg
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»