So, I had this idea, thought it might be possible.
Currently, I'm using Simple x264/x265 Launcher to encode my videos in Windows. It's a really simple GUI and it's just a frontend for the encoders (x264/x265). I really like it and I can't find anything similar for Linux.
So, that got me thinking. What if I could just pipe frames from the app to a native Linux binary (x264 or x265). Can this work?
The app is open source, but it's closely tied with Windows (it uses other tools/exes for frame piping from one tool to another), so reworking it to be a native Linux app is not an option (at least not at the moment). My idea was, everything except the encoding is done Wine side, since these tasks don't use much of the CPU. The encoder is the CPU intensive task, so that's why I was thinking of doing just this in the native Linux environment.
Currently, the app has a binary check and it checks if all of the required binaries are in it's subfolders (the encoders, frame servers, converters from one color space to another, etc.). I only know this because I symlinked the native Linux encoder in the required folders of the app and it threw an error while launching (binaries missing). However, this can be circumvented if I edit the source and recompile, so it's not an issue. I'm only asking this so that I don't have to install MSVS and recompile everything from source, just to find out later that this (piping video frames from Wine to a native Linux encoder) isn't possible.
Piping video frames from a Windows app to a Linux encoder
Re: Piping video frames from a Windows app to a Linux encoder
Although I have not really knowledge of encoding of videos, i know that ffmpeg is available in windows.
And it's quite performant, even in wine.
Anyway.
This was posted in another thread which may be similar.
Since what you are trying to accomplish is basically something similar.
Eventually it may help your task.
https://wiki.winehq.org/FAQ#How_do_I_la ... ication.3F
And it's quite performant, even in wine.
Anyway.
This was posted in another thread which may be similar.
Since what you are trying to accomplish is basically something similar.
Eventually it may help your task.
https://wiki.winehq.org/FAQ#How_do_I_la ... ication.3F
Re: Piping video frames from a Windows app to a Linux encoder
Thanks for the reply (just saw this, sorry for the late reply), but that is not what I was looking for. I know that I can use ffmpeg in Linux and that it's quite good, but the x265 encoder in ffmpeg (which is what I'd like to use to encode the videos) is somewhat... limited in the options I'd like to have (sometimes, it can't use all of the CPUs optimizations , and this cuts down on encoding speed). Recompiling ffmpeg with all of the options I need is a PITA sometimes and the outcome, unpredictable (I've recompiled several times, on some rigs it works flawlessly, on others... there are problems). On the other hand, I've compiled x265 several times (the POSIX building instructions are very detailed) and it works as expected every time.
My point is, I've already got the GUI working in Wine with the native Windows encoders, but this is suboptimal, since it's using the native Windows x265 encoder by default (which, BTW perform extremely well, as in it has the exact same or in some cases, even better FPS results than in Windows
... the only thing the encoder doesn't detect properly is NUMA nodes, but that's easily fixed with the manual CLI --pools option). The GUI is simple, but it schedules tasks and has other settings I really like (like choosing profiles, I don't have to set them through the command line), which is what I was after when I was looking for a similar tool in Linux - something that works with a frame server, like AviSynth+ or VapourSynth and has a task list. Hybrid was somewhat of an option, but it doesn't work with frame servers, so it can't use indexes generated by either ffms2 or lsmash, which gives frame accurate results and this is what I was after.
That's why the only option I saw as a reasonable one was having everything done Wine/Windows side (indexing, frame serving, etc.) and just serve frames to the native encoder in Linux, but... the problem is, I don't know if this could work and I'd have to recompile the GUI to remove the binary/exe checks on startup to find out and that's why I was asking if this is actually possible... to save me the trouble of recompiling the GUI in Windows and installing all dev tools I need (since I don't really do dev work in Windows, dev tool wise, I'd have to start from scratch).
My point is, I've already got the GUI working in Wine with the native Windows encoders, but this is suboptimal, since it's using the native Windows x265 encoder by default (which, BTW perform extremely well, as in it has the exact same or in some cases, even better FPS results than in Windows

That's why the only option I saw as a reasonable one was having everything done Wine/Windows side (indexing, frame serving, etc.) and just serve frames to the native encoder in Linux, but... the problem is, I don't know if this could work and I'd have to recompile the GUI to remove the binary/exe checks on startup to find out and that's why I was asking if this is actually possible... to save me the trouble of recompiling the GUI in Windows and installing all dev tools I need (since I don't really do dev work in Windows, dev tool wise, I'd have to start from scratch).