Запуск XBMC из командной строки и воспроизведение фильма из timepoint

Как проще всего запустить XBMC и воспроизвести фильм с определенного момента времени?

по-видимому, не так много параметров командной строки (ref), и скрипты python XBMC, кажется, предназначены для запуска из XBMC, как только он запущен (ref). Кроме того, я хочу иметь возможность воспроизводить файлы, которые не обязательно находятся в библиотеке мультимедиа XBMC.

20
задан pufferfish
19.11.2022 3:22 Количество просмотров материала 3514
Распечатать страницу

1 ответ

я думаю, что я собираюсь заняться этим... Вы просили простой способ запуска XBMC... Ну... Вот самый простой способ. Я этого не говорю is простой способ, но это единственный способ запустить фильм (которого нет в вашей библиотеке) и работает с переходом к минутам (или секундам).

сначала необходимо настроить XBMC для автоматического запуска скрипта. Для этого нам нужно создать файл с именем autoexec.py in %appdata%\XBMC\userdata.

Обычно это C:\Users\<username>\AppData\Roaming\XBMC\userdata.

Не волнуйся. Для этого вам не нужно "изучать" python. Просто скопируйте код в этот файл.

создать autoexec.py есть:

import xbmc
import xbmcgui
import os

class Main:
  def __init__(self):
    playlist = xbmc.PlayList( xbmc.PLAYLIST_VIDEO )
    playlist.clear()

    try:
      file = os.getenv('XBMC_PLAY','')
      jump = os.getenv('XBMC_JUMP','0')
    except:pass
    if os.path.isfile(file):

      xbmc.executebuiltin('Notification(Playing '+file+',Jump to '+jump+',5000)')
      playlist.add(file)

      try:
        xbmc.Player().play( playlist)
      except:pass

      try:
        xbmc.Player().seekTime(int(jump))
      except:pass

m = Main()

я настроил скрипт из здесь (thnx @root) и сделал так, чтобы проверить переменные среды на XBMC_PLAY и XBMC_JUMP. Таким образом, мы можем вызвать XBMC из batchfile, и он будет воспроизводить файл.

опять не волнуйтесь. Если эти переменные среды не существует XBMC будет работать как обычно.

Далее нам нужно создать batchfile, чтобы установить правильные значения и запустить XBMC.

XBMC_PLAY это ваш фильм-файл и XBMC_JUMP являются секунды, чтобы прыгать в (это может быть 0).

самый простой будет:

set XBMC_PLAY=<YOUR_MOVIE>
set XBMC_JUMP=<SECONDS_TO_JUMP>
"C:\Program Files(x86)\XBMC\XBMC.exe"
set XBMC_PLAY=
set XBMC_JUMP=

но так как я перфекционист;) я создал более сложную партию, которую вы можете использовать, чтобы бросить файл, и он попросит "перейти минут". Также можно назвать этот пакетник как

xbmc_run moviefile.avi 15 напрямую.

вы даже можете создать ассоциацию файлов для .avi etc... чтобы запустить этот batchfile вместо другого игрока:)

создать xbmc_run.bat

@echo off
if "%1"=="" goto usage
if not exist %1 goto filenotfound

::-----------------------------------------------
:: set-up temp-variable for Program Files
::-----------------------------------------------
set ProgFiles86=%ProgramFiles(x86)%
if not "%ProgFiles86%"=="" goto win64
set ProgFiles86=%ProgramFiles%
:win64

::-----------------------------------------------
:: get %2 parameter. if not given ask for seconds
::-----------------------------------------------
set jump=%2
if "%jump%"=="" set /p jump="Jump to minute: "
set /a jump*=60

::-----------------------------------------------
:: set user-environment variables and start xbmc
::-----------------------------------------------
:play
set XBMC_PLAY=%1
set XBMC_JUMP=%jump%
echo Starting %XBMC_PLAY% and jump to %XBMC_JUMP% seconds
"%progFiles86%\XBMC\XBMC.exe"
set XBMC_PLAY=
set XBMC_JUMP=
goto :eof

:usage
echo Usage: %0 movie [jump]
exit/b 1

:filenotfound
echo File %1 not found
exit/b 1

он отлично работает здесь. Я использовал XBMC v12.2 "Фродо". Если тебе нужна помощь, дай мне знать.

редактировать: мне только что пришло в голову, что прошу прыгнуть в минут может быть более интуитивным, чем секунд (как я сделал изначально). Поэтому я изменил код выше попросить минуту перехода и пересчитать до секунд для XBMC.

если вы хотите перейти в секундах назад вы можете изменить эти 2 строки:

if "%jump%"=="" set /p jump="Jump to second: "
set /a jump*=1

просто поместите файл фильма в этот пакетный файл, введите минуту перехода (или просто введите если нет) и вы хорошо идти :)

2
отвечен Rik 2022-11-20 11:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх