This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Hybrid on headless machines
#1
Hello admins and everybody! Is it possible to run Hybrid without a GUI? It would be great to set-up Jobs (GUI controlled) and then finish them inside a detachable 
screen-session. I'm using it on an headless 32 cores server hosted remotely and this would be really a nice feature.
Or, alternatively, to save queued jobs as a list of commands that could be executed in bash scripts externally from Hybrid.
I've checked the produced job files, ffmpeg-related commands are clear, maybe even the CLEAN-UP lines are clear (simply deleting files)
but I'm not sure about what happens in other middle steps, for example when the software creates service-files.
Thank you so much for your support!!!
Reply
#2
Hybrid isn't written to run on embedded Linux systems and it does not have code to convert the xml job lists into bash calls.
It might be possible to run Hybrid through something like xrpa or similar, but I have not tried it in ages. (I did this 6+ years ago once, but Hybrid and Qt itself changed a lot since then so no clue whether this is this possible.)

That said, depending on your scripting skills it shouldn't be too hard to write something to take a Hybrid jobs list and process it. Main logic in around the job processing is:
a. taking the next unprocessed sub-job or report finished job
b. replace the tool names with full paths
c. run the job
d. check that the job finished sucessfully, then go to a.
+ gimmicky stuff like progress indication, adjust bit rates on 2pass encoding, parallel job and sub-job processing, do xy after job/queue is finished,... but those might not be that important.

Depending on what you want to do in details, projects like:
ffx264: https://sourceforge.net/projects/ffx264/
ffhevc: https://sourceforge.net/projects/ffhevc/
see: https://forum.doom9.org/showthread.php?t=172558
might be more what you need.

Cu Selur
Reply
#3
Thank you Admin for the quick feedback!
The output lines on Job window are very clear, external tools are referenced with all the parameters.
The CLEAN-UP activity is simply deleting that file, but I cannot understand what's the command Hybrid
uses to create intermediate files (for example between an ffmpeg command and maybe some mp4box command).
I'll try to investigate it better as soon as I'll have some time.
Thank you for the suggestion of the other external tools, unfortunately they cannot give some full control the way Hybrid does.
Anyway, congratulations for the optimal tool you've made, Hybrid is really the most advanced I've ever seen.

Thanks+Regards

Benji
Reply
#4
Normally the command lines are simply connected by pipes "|".
(on MacOS there are special cases, but on Linux and Windows iirc. only anonymous pipes are used)

Cu Selur
Reply
#5
Hello admin! Thank you for the support, and happy new year!!!
I've investigated the Job list and every command is clearly reported so it's not difficult to script.
But I don't know how the software produces the Quantization Parameter files, when needed it 
creates a .qp files with an hidden command not clearly exposed in the Job list.
The same thing happens with the chapter files .chp.
Could you please give indications about the internal commands used?
Thank you in advance!

Thanks+Rgds

Benji
Reply
#6
I don't get it.
You simply need to create the files the jobs already contain the content,...
If you look at a single job and it's subjobs you can split it into the subjobs at
*?*
.

A "_create" custom quantizer (.qp) subjob then (for example) looks like:
2022-01-01@20_17_05_9810_03_create :*:  :*: 63 :*: WAITING :*: "E:\Temp\Folge 1_2022-01-01@20_17_05_9810_03.qp" ###  1 I -1
126 I -1
501 I -1
1251 I -1
1501 I -1 :*: E:\Temp :*: E:\Output :*: E:\Output\Folge 1.mp4 :*:  :*:  :*:  :*:  :*: G:\TestClips&Co\files\chapterTest\Folge 1.mkv
so in this case you would only need to create a file named "E:\Temp\Folge 1_2022-01-01@20_17_05_9810_03.qp"
1 I -1
126 I -1
501 I -1
1251 I -1
1501 I -1
as content.

A "_create" chapter (.chp) subjob would then (for example) look like:
2022-01-01@20_17_05_9810_08_create :*:  :*: 63 :*: WAITING :*: E:\Temp\2022-01-01@20_17_05_9810__08.chp ### CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 1
CHAPTER02=00:00:05.000
CHAPTER02NAME=Chapter 2
CHAPTER03=00:00:20.000
CHAPTER03NAME=Chapter 3
CHAPTER04=00:00:50.000
CHAPTER04NAME=Chapter 4
CHAPTER05=00:01:00.000
CHAPTER05NAME=Chapter 5 :*: E:\Temp :*: E:\Output :*: E:\Output\Folge 1.mp4 :*:  :*:  :*:  :*:  :*: G:\TestClips&Co\files\chapterTest\Folge 1.mkv
so in this case you would need to create a file named "E:\Temp\2022-01-01@20_17_05_9810__08.chp" with:
CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 1
CHAPTER02=00:00:05.000
CHAPTER02NAME=Chapter 2
CHAPTER03=00:00:20.000
CHAPTER03NAME=Chapter 3
CHAPTER04=00:00:50.000
CHAPTER04NAME=Chapter 4
CHAPTER05=00:01:00.000
CHAPTER05NAME=Chapter
as content.

Seems easy and straight forward to me.
All ..._create-subjobs are structured the same way.
There are no internal command used they are simple "create file with content"-subjobs.

Cu Selur
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)