Log in

View Full Version : Simple x264/x265 Launcher v3.02 (2022-06-16)


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40

LoRd_MuldeR
28th October 2015, 20:08
Hello, hello ;-)

At first: Great work - thank you!

I am using your launcher quite a while now (1-2 years, I think). And sometimes it happened, that I forgot to switch the "Shutdown computer ..." gadget within the preferences, so my computer shuts down accidentally. Maybe you could place this button outside this "hidden" window to the main windows top area instead?

I'm probably not going to move that option to the main window. However, there already is a countdown (including sound notification) before the system shuts down, so the shutdown shouldn't come at a surprise, even if you forgot the option. You can cancel the shutdown easily. Do you think the countdown needs to be longer? Also, would adding a second button to the countdown dialog be helpful? That button would abort the countdown and disable the shutdown option.


Or, if it's not possible, maybe reset that option to off each time the program is closed.

Probably not a good idea. Someone will complain he has to re-enable the option every time now ;)

almosely
30th October 2015, 02:25
If I am sitting at my pc, this is no problem at all, of course. The cancel-button is pressed easily in that case. But sometimes I start an encode, go eating, to sleep, shopping (...), start a long download too and other jobs, come back and the pc is shut down while the other jobs could not be finished and have to be started all over again. Or I start an encode, go to the living room and want to use my pc as a media server and at sometime suddenly the connection is lost. So, every time I start your launcher, at first I go to preferences and check, if the shutdown-option is checked or not - just to be safe. Sometimes the shut down is welcome, sometimes not. I change that setting regularly.

kypec
30th October 2015, 07:45
...I change that setting regularly.
If you keep changing that setting regularly then no one else but you must pay attention when is it ON or OFF and ensure that no other tasks are running when encoding job finishes.
Personally, I never used that option because there are far better ways to save power in Windows. Just check your power settings and setup idle times as needed. That way, your PC will run at full power when needed (encoding video) and can switch off automatically as well once no active tasks are running.

almosely
30th October 2015, 08:23
My energy saving settings are perfectly set. There is no way to save more power for hours then pull the plug. My CPU is running idle almost every time, my GPU too, my monitor switches of after 5 minutes inactivity, my harddrive is permanently on, because I do not shorten its lifetime with unnecessary spin-ups. And if I do not use the system at all, its shut down completely. No hibernation. And I do not want to let my system automatically shut down when no task is running. Sometimes the system has to be running, so I can use it, when I want to, without to change to floor, wait till bootup finishes ...

Yes, I have to pay attention. This is why I check the prefs on every startup. Because I switch so often, I do not know, if I had it set or not. You must not understand that. But you have to accept, that other people think, plan and work different than you.

Other tools, like JDownloader, have that function too and it is - for this reason - solved by a permanently viewable button on top of the main window. Further tools, like Comodo Internet Security, solved the deactivation of some protections by options like "disable for 10 minutes", "disable for one hour" or "disable until next system boot" but not permanently. The last one equals the shutdown-switch with an automated reset to off, after the one shut down. There are many other programs solving the shut-down like a one-time-option, because a shut-down is a big deal.

I thought, my suggestion would be easy to integrate and also be welcome.

rus929
13th November 2015, 03:52
Gud day Lord!

I am very grateful that you've made this application. And I am using this ever since. As of this writing, I am still using v2.46.902. I am trying to install the latest version but it has issues with my system ( win 7 - 64 bit ). It stops my Catalyst Control System. Another issue also that I am experiencing now (with v2.46.902) is that, even if the I disable the "Auto update notification on start up", it still notifies me to check for update everytime I open the application.
I hope you can address this problems and once again thank you very much and more power.

LoRd_MuldeR
13th November 2015, 21:26
I am trying to install the latest version but it has issues with my system ( win 7 - 64 bit ). It stops my Catalyst Control System.
Not quite sure what you mean. Simple x264 Launcher or its installer don't "stop" anything. And they don't interfere with "Catalyst Control System" in any way.

Yes, it's possible that the installer (LockedList (http://nsis.sourceforge.net/LockedList_plug-in) plug-in) will ask you to close certain applications, if and only if those applictions block files that need to be overwritten by the installer. But it certainly won't stop those applications by itself.

So this sounds more like there's an unrelated problem with your display driver ("Catalyst" is the AMD display driver), which happened to hit while you were trying to install/use Simple x264 Launcher.


Another issue also that I am experiencing now (with v2.46.902) is that, even if the I disable the "Auto update notification on start up", it still notifies me to check for update everytime I open the application.

That's a pretty old version. Update notifications become more emphatic after a while. And that is intentional ;)

LoRd_MuldeR
18th November 2015, 21:10
Simple x264 Launcher v2.62
https://github.com/lordmulder/Simple-x264-Launcher/releases/tag/v2.62

Version 2.62 [2015-11-18]
* Make 'custom' Avs2YUV parameters work again
* Changed mode for the Status/Progress columns to "ResizeToContents"
* Updated x265 to version 1.8+106

Minister
18th December 2015, 17:29
I only found this application recently & want to say how terrific it is. I've been a long time user of MeGUI til now, but have made the switch to Simple x264 Launcher for most projects.

I have a feature request I hope you'll consider.

Currently I use batch files utilizing your CLI switches to load many jobs, which works a treat. However there is no quick way to delete multiple jobs in the queue, instead having to delete them one at a time.
A workaround is closing the program, telling it to discard the jobs at close, then confirming that choice, and after that I can reopen Simple to start over, but that is a bit cumbersome, and not an option if you have jobs currently running that you don't want to abort.

I am hoping you can the add the option to select multiple jobs from the list for deletion. It'd be very helpful for those who run 20-30+ jobs at a time.

LoRd_MuldeR
19th December 2015, 17:43
Hi,

selecting multiple jobs is "problematic". For example, for which job do we show the details in the lower pane, if multiple jobs can be selected in the upper pane? :confused:

Maybe I will just add an "Remove all (completed) jobs" entry to the "File" menu...

ben_franklin
19th December 2015, 17:44
Hey Mulder,

I guess this is more of a x264/x265 complaint and likely not your problem. I have a 26 second 4k file I am trying to encode and when reducing the resolution to 1080p it encodes fine, but when keeping the native resolution it is always corrupt when producing an x264 encode.

Also when trying to encode to x265 it tells me the input source is not valid. The source file is:

AVI
24 bit RGB (RV24)
24 FPS
4096x1706

Any ideas? Thanks!

LoRd_MuldeR
19th December 2015, 18:06
Hey Mulder,

I guess this is more of a x264/x265 complaint and likely not your problem. I have a 26 second 4k file I am trying to encode and when reducing the resolution to 1080p it encodes fine, but when keeping the native resolution it is always corrupt when producing an x264 encode.

Also when trying to encode to x265 it tells me the input source is not valid. The source file is:

AVI
24 bit RGB (RV24)
24 FPS
4096x1706

Any ideas? Thanks!

Well, what is the type of source? Avisynth? VaporSynth? Trying to load that AVI file directly?

The latter clearly can not work with x265. And with x264 you'd be using the "built-in" FFMS2 source filter, which may (or may not) be able to decode your source. Might very well be the problem you are describing.

If you are using Avisynth or VaporSynth, do other programs (e.g. VirtualDub) open your script correctly?

ben_franklin
19th December 2015, 18:21
Well, what is the type of source? Avisynth? VaporSynth? Trying to load that AVI file directly?

The latter clearly can not work with x265. And with x264 you'd be using the "built-in" FFMS2 source filter, which may (or may not) be able to decode your source.

If you are using Avisynth or VaporSynth, do other programs (e.g. VirtualDub) open your script correctly?

Allow me to rephrase and elaborate. When encoding and resizing to 1080p in x264 with "--video-filter", it works fine HOWEVER when trying to encode with x264 and NOT reducing the resolution the output always looks corrupt.

The source file is an uncompressed AVI generated in Adobe After effects. Is there some technical reason x265 wont accept that as a source input?

LoRd_MuldeR
19th December 2015, 18:30
Allow me to rephrase and elaborate. When encoding and resizing to 1080p in x264 with "--video-filter", it works fine HOWEVER when trying to encode with x264 and NOT reducing the resolution the output always looks corrupt.

In this case you should create an example, containing your full x264 command-line plus the shortest possible source, that can be used to reproduce the problem.

(Source should be provided in YUV4MPEG format, to exclude decoding issues)


The source file is an uncompressed AVI generated in Adobe After effects. Is there some technical reason x265 wont accept that as a source input?

I don't think x265 CLI can read anything as input, except for "raw" YUV data and YUV4MPEG. Has that ever changed?

ben_franklin
19th December 2015, 18:49
In this case you should create an example, containing your full x264 command-line plus the shortest possible source, that can be used to reproduce the problem.

(Source should be provided in YUV4MPEG format, to exclude decoding issues)

I'm pretty limited in the uncompressed output that After Effects provides. I don't really see an option for YUV4MPEG.




I don't think x265 CLI can read anything as input, except for "raw" YUV data and YUV4MPEG. Has that ever changed?
How are people supposed to take advantage of x265 if it is so limited in what uncompressed formats that it accepts? For example, if I had uncompressed TIFF frames or PNG frames, how would I convert those to a "raw" YUV file?

I am cognizant that you are helping me with "my" problem and I hope I am not being a pest.

LoRd_MuldeR
19th December 2015, 18:54
I'm pretty limited in the uncompressed output that After Effects provides. I don't really see an option for YUV4MPEG.

Use FFmpeg to generate Y4M file:
ffmpeg.exe -i input.avi -pix_fmt yuv420p -f yuv4mpeg output.y4m

How are people supposed to take advantage of x265 if it is so limited in what uncompressed formats that it accepts? For example, if I had uncompressed TIFF frames or PNG frames, how would I convert those to a "raw" YUV file?

I am cognizant that you are helping me with "my" problem and I hope I am not being a pest.

Just pipe (https://en.wikipedia.org/wiki/Pipeline_%28Unix%29) the input from Avisynth or VapourSynth, which gives you access to pretty much any source that exists ;)

And that is, of course, exactly what the Simple x264/x265 Launcher is going to do, if you select an AVS or VPS script file as your input...

(You can also pipe from FFmpeg, which is essentially the same outcome as using x264's "built-in" FFMS2 source)

ben_franklin
19th December 2015, 19:22
Use FFmpeg to generate Y4M file:
ffmpeg.exe -i input.avi -pix_fmt yuv420p -f yuv4mpeg output.y4m



Just pipe (https://en.wikipedia.org/wiki/Pipeline_%28Unix%29) the input from Avisynth or VapourSynth, which gives you access to pretty much any source that exists ;)

And that is, of course, exactly what the Simple x264/x265 Launcher is going to do, if you select an AVS or VPS script file as your input...

(You can also pipe from FFmpeg, which is essentially the same as using x264's "built-in" FFMS2 source)

Well crap, I was hoping my workflow would be export from After Effects > x264 launcher... :(

And this brings up another question. If I am "downgrading" the chroma to 420, what if I want 422 or 444? And if x265 is supposed to support enhanced chroma ranges and HDR, why does it need to be reduced to 420?

Again, sorry, I know this is not specifically a Launcher problem....

Oh wait, can I also import yuv422p and yuv444p?

LoRd_MuldeR
19th December 2015, 19:30
Well crap, I was hoping my workflow would be export from After Effects > x264 launcher... :(
Who said you can't?

Just use Avisnyth (or VapurSynth) to load your AVI file and drop it into Simple x264/x265 Launcher. The the most simple case, the AVS script you need is a one-liner :)

FFVideoSource("C:\Path to my file\Input.avi")

And this brings up another question. If I am "downgrading" the chroma to 420, what if I want 422 or 444? And if x265 is supposed to support enhanced chroma ranges and HDR, why does it need to be reduced to 420?

Someone correct me if I'm wrong, but I think at this point there are only the "Main" and "Main 10" profiles of H.265/HEVC finished, which provide 4:2:0 chroma sub-sampling with 8-Bit and 10-Bit per pixel, respectively.

ben_franklin
19th December 2015, 19:36
Someone correct me if I'm wrong, but I think at this point there are only the "Main" and "Main 10" profiles of H.265/HEVC finished, which provide 4:2:0 chroma sub-sampling with 8-Bit and 10-Bit per pixel, respectively.

It is here in the Wiki (https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding) under "range extensions" and yea, you are right those are not finished....

ben_franklin
19th December 2015, 20:43
Use FFmpeg to generate Y4M file:
ffmpeg.exe -i input.avi -pix_fmt yuv420p -f yuv4mpeg output.y4m


It is actually ffmpeg.exe -i input.avi -pix_fmt yuv420p -f yuv4mpegpipe output.y4m

I did this and the resultant file was half the size. It also completely murdered the colors, and the result was visually indistinguishable from the 1080p version. The spacial resolution advantage was visually undetectable.

How do the studios do it when remastering down to blu ray?

LoRd_MuldeR
20th December 2015, 02:01
Simple x264 Launcher v2.64
https://github.com/lordmulder/Simple-x264-Launcher/releases/tag/v2.64

Version 2.64 [2015-12-20]
* Fixed a dependency issue with Visual Studio runtime libraries

Version 2.63 [2015-12-19]
* Updated build environment to Visual Studio 2015 with Update-1
* Updated x265 to version 1.8+167

LoRd_MuldeR
20th December 2015, 14:08
Currently I use batch files utilizing your CLI switches to load many jobs, which works a treat. However there is no quick way to delete multiple jobs in the queue, instead having to delete them one at a time.
A workaround is closing the program, telling it to discard the jobs at close, then confirming that choice, and after that I can reopen Simple to start over, but that is a bit cumbersome, and not an option if you have jobs currently running that you don't want to abort.

I am hoping you can the add the option to select multiple jobs from the list for deletion. It'd be very helpful for those who run 20-30+ jobs at a time.

Try with this test version:
http://sourceforge.net/projects/muldersoft/files/Simple%20x264%20Launcher/Testing/x264_launcher.2015-12-20.TEST-2.exe/download

I did this and the resultant file was half the size.

Getting 1/2 the file size when going from uncompressed 4:4:4 data to uncompressed 4:2:0 data is expected.

The amount of data for the two chroma channels is reduced to 1/4 each (because 4 pixels in a 2x2 block share one chroma value), while the amount of data for the luma channels remains unchanged. Results in a 1/2 reduction overall.

1/3 + ((1/3) / 4) + ((1/3) / 4) = 4/12 + 1/12 + 1/12 = 6/12 = 1/2

It also completely murdered the colors, and the result was visually indistinguishable from the 1080p version. The spacial resolution advantage was visually undetectable.

Not quite sure what you mean with "completely murdered the colors", but generally the difference between 4:4:4 and 4:2:0 is hardly visible for "normal" film footage, while it can be more apparent with screen captures (text) and the like.

How do the studios do it when remastering down to blu ray?

I'd assume they re-scan from the original film master, they do all the processing at the scanner's "native" resolution (probably in RGB or YUV 4:4:4 format) and they downscale to 1080p (YUV 4:2:0) just before the final encode.

Also I'd assume the whole processing is done at 10-Bit or 12-Bit and they go down to 8-Bit (using proper dithering!) just before the final encode.

r0lZ
20th December 2015, 15:50
Not sure it's normal, but I've noticed the presence of 40 "api-ms-win-*-l1-1-0.dll" files in the latest official ZIP distribution x264_launcher.2015-12-20.zip (v2.64.1000). It seems that these files can safely be deleted. Can you confirm?

LoRd_MuldeR
20th December 2015, 15:55
Not sure it's normal, but I've noticed the presence of 40 "api-ms-win-*-l1-1-0.dll" files in the latest official ZIP distribution x264_launcher.2015-12-20.zip (v2.64.1000). It seems that these files can safely be deleted. Can you confirm?

Yes, it's "normal". And nope, you generally should not delete this files!

This is the new Universal CRT (UCRT), introduced with Windows 10 (adopted by Visual Studio 2015), and how Microsoft thinks we should do "app-local deployment" from now on :rolleyes:
http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx

Updated September 11, 2015: App-local deployment of the Universal CRT is supported. To obtain the binaries for app-local deployment, install the Windows Software Development Kit (SDK) for Windows 10. The binaries will be installed to C:\Program Files (x86)\Windows Kits\10\Redist\ucrt. You will need to copy all of the DLLs with your app (note that the set of DLLs are necessary is different on different versions of Windows, so you must include all of the DLLs in order for your program to run on all supported versions of Windows).

The alternative, of course, would be to require everybody to separately install the Visual Studio 2015 redistributable package on their system - which also contains the UCRT for pre-Windows 10 systems - before they can use the program.

(If you actually do delete the UCRT files from the application directory, because you want to use the system-provided UCRT, be sure you delete "api-ms-win-*.dll" and "ucrtbase.dll")

ben_franklin
20th December 2015, 20:29
MuldeR, this is what I did:

ffmpeg.exe -i input.avi -pix_fmt yuv444p -f yuv4mpegpipe output.y4m

The resulting YUV file was then the same size as the .avi

HOWEVER, the resulting output.y4m file had something weird done to the colors. Please see attached pic. Note, I cant attach a nice full size png because it is too big, but the jpg at imgur is at least 90% accurate in its representation of what I am trying to show.

Is it me, or is it weird that going uncompressed to 444 is doing strange things with the colors? How does one compensate for this?


http://i.imgur.com/JGLNfBW.jpg

LoRd_MuldeR
20th December 2015, 20:39
Looks like a typical "PC Levels" vs. "TV Levels" problem ;)

Movies stored in YUV color format typically (though not necessarily) use the 16-235 range, which is also known as "TV Levels". However, your PC screen probably uses the full 0-255 range, which is also known as "PC Levels".

So, at playback time, when the video renderer performs the required YUV to RGB conversion (video is always sent to the screen as RGB), the "correct" Levels need to be assumed. Otherwise, the result may look too bright ("washed out") or too dark.

This means what you are seeing is probably a playback problem. I don't know what playback software you are using to check the Y4M file, but be sure the video renderer is assuming "TV Levels" for the input and uses "PC Levles" as output!

http://i.imgur.com/z9YAivl.png

See here for details:
* http://avisynth.nl/index.php/Luminance_levels
* http://forum.doom9.org/showthread.php?t=143689

ben_franklin
20th December 2015, 22:37
Looks like a typical "PC Levels" vs. "TV Levels" problem ;)

Movies stored in YUV color format typically (though not necessarily) use the 16-235 range, which is also known as "TV Levels". However, your PC screen probably uses the full 0-255 range, which is also known as "PC Levels".

So, at playback time, when the video renderer performs the required YUV to RGB conversion (video is always sent to the screen as RGB), the "correct" Levels need to be assumed. Otherwise, the result may look too bright ("washed out") or too dark.

This means what you are seeing is probably a playback problem. I don't know what playback software you are using to check the Y4M file, but be sure the video renderer is assuming "TV Levels" for the input and uses "PC Levels" as output!

See here for details:
http://avisynth.nl/index.php/Luminance_levels

I am playing both of the files with VLC player. I guess I need to go dig through the ffmpeg settings and see if there is one that is butchering the luma. FYI, when I output with mainconcept encoder from Adobe premier it does the same thing.

UPDATE: Finally solved this. For future reference, The custom encoder parameter for X264 launcher is --range pc
I REALLY wish this was not even an option, because it defaults to the wrong setting in an age where we all have HDTV's with a full color range, and is more likely to just make life irritating for people trying to do an encode. MuldeR, I REALLY wish you would set the default to "PC" instead of "Auto"....

LoRd_MuldeR
22nd December 2015, 14:41
UPDATE: Finally solved this. For future reference, The custom encoder parameter for X264 launcher is --range pc
I REALLY wish this was not even an option, because it defaults to the wrong setting in an age where we all have HDTV's with a full color range, and is more likely to just make life irritating for people trying to do an encode.

Using the --range option does nothing but indicating the "intended" luma-range via VUI (Video Usability Info). So it's a meta-info added to the stream.

This will have an effect if and only if, the decoder actually looks at the VUI and performs the YUV to RGB conversion accordingly. Many "real world" decoder do not do this and just assume "TV Levels". And, of course, this can work only, if the decoder actually outputs RGB. In practice, however, the decoder will usually output YUV and leave the required YUV to RGB conversion to the video renderer - which generally has no access to the VUI and thus will probably just assume "TV Levels".

tl;dr: Encoding YUV with "PC Levels" is pretty unusual - and even with the proper VUI it's not going to produce the desired screen output in many playback scenarios. Just use "TV Levels", as the rest of the world does ;)

MuldeR, I REALLY wish you would set the default to "PC" instead of "Auto"....

This could only be achieved by patching x264. Or by convincing the x264 devs to change their default. But I don't think it's a good idea, for the reasons outlined above.

ben_franklin
22nd December 2015, 16:12
tl;dr: Encoding YUV with "PC Levels" is pretty unusual - and even with the proper VUI it's not going to produce the desired screen output in many playback scenarios. Just use "TV Levels", as the rest of the world does ;)


But every modern bluray is encoded with full range levels and not "TV levels".

I sure would like to know what their exact workflow is for this.

ben_franklin
22nd December 2015, 17:19
And now HEVC encoding is giving me grief....

I created an avi file from tif's using FFMPEG
4:2:2 YUV (Y42B)
4096x1706
24 FPS

And then when I try and encode with HEVC I get:

Simple x264 Launcher (Build #994), built 2015-11-18

Job started at 2015-12-22, 10:12:33.

Source file : \ffmpeg\bin\movie.avi
Output file : \Videos\movie.hevc

--- SYSTEMINFO ---

Binary Path : C:\Program Files (x86)\MuldeR\Simple x264 Launcher v2
Avisynth : No
VapourSynth : No

--- SETTINGS ---

Encoder : x265 (H.265/HEVC), x64, 8-Bit
Source : Native
RC Mode : CRF
Preset : veryslow
Tuning : <None>
Profile : <Unrestricted>
Custom : <None>

--- CHECK VERSION ---

Detect video encoder version:

Creating process:
"C:\Program Files (x86)\MuldeR\Simple x264 Launcher v2\toolset\x64\x265_8bit_x64.exe" --version

x265 [info]: HEVC encoder version 1.8+106-e8f9a60d4cd9
x265 [info]: build info [Windows][GCC 5.2.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX

> x265 version: 1.8+106

--- ENCODING VIDEO ---

Creating encoder process:
"C:\Program Files (x86)\MuldeR\Simple x264 Launcher v2\toolset\x64\x265_8bit_x64.exe" --crf 2.0 --preset veryslow --output \Videos\movie.hevc \ffmpeg\bin\movie.avi

x265 [error]: yuv: width, height, and FPS must be specified
x265 [error]: unable to open input file <\ffmpeg\bin\movie.avi>

PROCESS EXITED WITH ERROR CODE: 1

LoRd_MuldeR
22nd December 2015, 17:28
But every modern bluray is encoded with full range levels and not "TV levels".

Nope, definitely "TV range" in my experience ;)

It's just that your playback chain knows about this and therefore performs the required "range extension" before the video reaches your screen. So, usually, this happens without you worrying about it.

But you can check this yourself easily: Just be sure that your H.264 decoder gives you to "untouched" YUV data and then explicitly perform the YUV to RGB conversion yourself, e.g. using Avisynth' ConvertToRGB32() (http://avisynth.nl/index.php/Convert) function.

You'll see that using "Rec709" matrix (i.e. assuming TV/Limited range) gives the proper output, while using "PC.709" matrix (i.e. assuming PC/Full range) results in "washed out" colors.

Example:
DGSource("heat.dgi")
a = Last.ConvertToRGB32("Rec709").Subtitle("TV Range")
b = Last.ConvertToRGB32("PC.709").Subtitle("PC Range")
Interleave(a,b)

Result:
* http://i.imgbox.com/cq6NhoFJ.png
* http://i.imgbox.com/grL9SvCF.png


--- ENCODING VIDEO ---

Creating encoder process:
"C:\Program Files (x86)\MuldeR\Simple x264 Launcher v2\toolset\x64\x265_8bit_x64.exe" --crf 2.0 --preset veryslow --output \Videos\movie.hevc \ffmpeg\bin\movie.avi

x265 [error]: yuv: width, height, and FPS must be specified
x265 [error]: unable to open input file <\ffmpeg\bin\movie.avi>

PROCESS EXITED WITH ERROR CODE: 1

As explained before, x265 CLI does not read anything, except "raw" YUV or YUV4MPEG.

If you try to feed it with an AVI nonetheless, it will treat the AVI as "raw" YUV (as it has no idea about AVI) - which of course requires that the width, height, and FPS are specified explicitly.

The advantage of YUV4MPEG is that it has a small header indicating the resolution and frame-rate, so this does not need to be specified separately...

ben_franklin
22nd December 2015, 18:02
Nope, definitely "TV range" ;)
You'll see that using "Rec709" matrix (i.e. assuming TV/Limited range) gives the proper output, while using "PC.709" matrix (i.e. assuming PC/Full range) results in "washed out" colors.


When I take HD footage with a GH4 I don't use Rec709, as it looks terrible. I guess Rec709's importance comes into play at the last stages of output. More research needed.





As explained before, x265 CLI does not read anything, except "raw" YUV or YUV4MPEG.

If you try to feed it with an AVI nonetheless, it will treat the AVI as "raw" YUV (as it has no idea about AVI) - which of course requires that the width, height, and FPS are specified explicitly.

The advantage of YUV4MPEG is that it has a small header indicating the resolution and frame-rate, so this does not need to be specified separately...

I cant find anything that will let me specify "width, height" of the AVI to x265 CLI. Alternatively I cannot figure out which codecs/formats/pix formats from looking at the FFMPEG documentation would give me the right "raw" YUV file when converting that group of TIF files. I got it to work with the x264, but alas no dice on x265. Help?

LoRd_MuldeR
22nd December 2015, 18:08
When I take HD footage with a GH4 I don't use Rec709, as it looks terrible. I guess Rec709's importance comes into play at the last stages of output. More research needed.

Rec.709 with limited range (TV Levels) is the standard for consumer HD video. I'm not sure the BD spec explicitely requires this (quite possible though), but it certainly is the de facto standard.

I cant find anything that will let me specify "width, height" of the AVI to x265 CLI. Alternatively I cannot figure out which codecs/formats/pix formats from looking at the FFMPEG documentation would give me the right "raw" YUV file when converting that group of TIF files. I got it to work with the x264, but alas no dice on x265. Help?

Even if you could, it wouldn't help!

x265 CLI would still read your AVI file as if it was "raw" YUV (because it has no idea about AVI files), while in fact it is not "raw" YUV, but some kind of video (maybe compressed, maybe not) wrapped in an AVI container.

As explained before, if you want to feed x265 with uncompressed YUV data, just use the YUV4MPEG (Y4M) format.

And, if you want to feed x265 with anything else (e.g. AVI file), but you don't want to create a (potentially huge) intermediate Y4M file, then just frame-serve the video from Avisynth or VapourSynth ;)

Avisynth is not rocket science, a one-liner suffices:
FFVideoSource("C:\path to your source\input.avi")

ben_franklin
22nd December 2015, 18:19
Rec.709 with limited range (TV Levels) is the standard for consumer HD video. I'm not sure the BD spec explicitely requires this (quite possible though), but it's the de facto standard.



Even if you could, it wouldn't help!

x265 CLI would still read your AVI file as if it was "raw" YUV (because it has no idea about AVI files), while in fact it is not "raw" YUV, but some kind of video (maybe compressed, maybe not) wrapped in an AVI container.

As explained before, if you want to feed x265 with YUV data, use the YUV4MPEG (Y4M) format.

If you want to feed x265 with anything else (e.g. AVI file), and if you don't want to create a (potentially huge) intermediate Y4M file, then just frame-serve the video from Avisynth or VapourSynth ;)

Avisynth is not rocket science, a one-liner suffices:
FFVideoSource("C:\path to your source\input.avi")

I'm completely Avisynth and VapourSynth ignorant. I don't care what the file type is, I just really want to feed x265 an uncompressed file. Is the Avisynth/VapourSynth route the only way to do this?

LoRd_MuldeR
22nd December 2015, 18:23
Is the Avisynth/VapourSynth route the only way to do this?

Nope. But it's certainly the recommended way. And it allows for advanced video processing. Most of the sophisticated video filters you find on the net are either written as Avisynth scripts or as Avisynth plug-ins (or as a combination thereof).

Anyway, I explained an alternative way to get your video into x265 before. Note, however, that there is no direct support for that alternative way in the Simple x264/x265 Launcher, while Avisynth/VapourSynth works smoothly.

r0lZ
23rd December 2015, 09:39
OT, sorry:
Since you have just discussed the interesting topic ot TV/RGB levels, I would like to know what does ConvertToRGB32() without specifying the matrix. Is it smart enough to figure out what matrix to use?

And what should be used if you have to convert YV12 from a BD to RGB, to use some filters working only in RGB, and then back to YV12 ? Is it ConvertToRGB32("Rec709").WhateverRGBfilter().ConvertToYV12(matrix="PC.709") or the opposite? (I would like to let the RGB filter work on the full PC range of course.)
In other words, is it correct to say that the matrix specified for ConvertTo* must match the input video range ? Or does it have to specify the desired output range?

[EDIT] I've found this excellent explanation (http://forum.doom9.org/showthread.php?p=1425891#post1425891) that clarifies already many things. Also, the avisynth doc tells that the default matrix is Rec601, so forget my first question. (Rec601 is not really a good choice for HD, but avisynth is becoming old!) However, I'm still wondering how to convert to RGB and back to YV12 with the minimal loss of quality.

LoRd_MuldeR
23rd December 2015, 12:55
And what should be used if you have to convert YV12 from a BD to RGB, to use some filters working only in RGB, and then back to YV12 ? Is it ConvertToRGB32("Rec709").WhateverRGBfilter().ConvertToYV12(matrix="PC.709") or the opposite? (I would like to let the RGB filter work on the full PC range of course.)

I think for the ConvertToRGB32() call you should use whatever "matches" your source, so that you get proper "full range" RGB. This would probably be "Rec709" in most cases nowadays (HD footage), but it really depends on the source.

For the ConvertToYV12() call you should use whatever you need for the final encode. In most cases this probably is "Rec709" again... as said before, "full range" YUV is unusual for consumer footage and thus more likely to cause playback issues.

r0lZ
24th December 2015, 09:29
OK, thanks. That makes sense.

LoRd_MuldeR
2nd January 2016, 01:47
New test build available now:
http://sourceforge.net/projects/muldersoft/files/Simple%20x264%20Launcher/Testing/x264_launcher.2016-01-02.TEST.exe/download

(Updated x265 binaries to latest revision)

tona69
2nd January 2016, 22:31
Hi, I have this error

Simple x264 Launcher (Build #1004), built 2016-01-02

Job started at 2016-01-02, 15:26:38.

Source file : C:\Downloads\La Vision de Escaflowne\Escaflowne - 013.vpy
Output file : C:\Users\#####\Videos\Escaflowne - 013.mp4

--- SYSTEMINFO ---

Binary Path : C:\Program Files (x86)\MuldeR\Simple x264 Launcher v2
Avisynth : Yes
VapourSynth : Yes

--- SETTINGS ---

Encoder : x264 (H.264/AVC), x64, 8-Bit
Source : VapourSynth (vpy)
RC Mode : 2-Pass
Preset : slow
Tuning : Animation
Profile : High

--- CHECK VERSION ---

Detect video encoder version:

Creating process:
"C:\Program Files (x86)\MuldeR\Simple x264 Launcher v2\toolset\x64\x264_8bit_x64.exe" --version

x264 0.148.2638 7599210
(libswscale 4.0.100)
(libavformat 57.4.100)
(ffmpegsource 2.22.0.0)
built by Komisar on Oct 16 2015, gcc: 4.8.4 (multilib.generic.Komisar)
x264 configuration: --bit-depth=8 --chroma-format=all
libx264 configuration: --bit-depth=8 --chroma-format=all
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

Detect video source version:


VPY INPUT REQUIRES VAPOURSYNTH, BUT IT IS *NOT* AVAILABLE !!!

LoRd_MuldeR
3rd January 2016, 14:54
Hi, I have this errorVPY INPUT REQUIRES VAPOURSYNTH, BUT IT IS *NOT* AVAILABLE !!!

Well, you are trying to use a .vpy file as your input, but apparently VapourSynth is not installed. This clearly can't work ;)

If, however, you are trying to say that Simple x264 Launcher did not detected VapourSynth although it is installed (what version?) on your system, then please run the application with --console and post your log...

tona69
3rd January 2016, 20:08
Well, you are trying to use a .vpy file as your input, but apparently VapourSynth is not installed. This clearly can't work ;)

If, however, you are trying to say that Simple x264 Launcher did not detected VapourSynth although it is installed (what version?) on your system, then please run the application with --console and post your log...

Here is:

Simple x264 Launcher v2.65.1004 - use 64-Bit x264 with 32-Bit Avisynth
Copyright (c) 2004-2016 LoRd_MuldeR <mulder2@gmx.de>. Some rights reserved.
Built on 2016-01-02 at 00:13:59 with MSVC 2015.1 for Win-x86.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License <http://www.gnu.org/>.
Note that this program is distributed with ABSOLUTELY NO WARRANTY.

This application is powerd by MUtils library v1.06 (2016-01-02, 00:13:35).

Command-Line Arguments:
--console

CPU vendor id : GenuineIntel (Intel=1)
CPU brand string : Intel(R) Core(TM) i5-3330S CPU @ 2.70GHz
CPU signature : Family=6 Model=58 Stepping=9
CPU capabilities : MMX=1 SSE=1 SSE2=1 SSE3=1 SSSE3=1 SSE4=1 SSE4.2=1 x64=1
Number of CPU's : 4

Using Qt v4.8.7 [2015-08-05], DLL, Windows msvc release full-config
Compiled with Qt v4.8.7 [2015-05-07], Windows msvc release full-config

Running on Windows 10 or Windows Server 2014 (Preview) (NT v10.0).

Failed to resolve function: ntdll::wine_get_version
Library Path:
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2

Process token elevation type: Limited -> not elevated.

libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: cHRM chunk does not match sRGB
[Validating binaries]
Binaries checker thread has been created, please wait...
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x86/x264_8bit_x86.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x86/x264_10bit_x86.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x64/x264_8bit_x64.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x64/x264_10bit_x64.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x86/x265_8bit_x86.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x86/x265_10bit_x86.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x86/x265_12bit_x86.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x64/x265_8bit_x64.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x64/x265_10bit_x64.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x64/x265_12bit_x64.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x86/avs2yuv_x86.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x86/avs_check_x86.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x64/avs2yuv_x64.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/x64/avs_check_x64.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/common/wget.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/common/gpgv.exe
C:/Program Files (x86)/MuldeR/Simple x264 Launcher v2/toolset/common/wupd.exe
Binaries checker thread finished.

[Check for Avisynth support]
Avisynth thread has been created, please wait...
Avisynth 32-Bit support is being tested.
Avisynth was detected successfully (current version: 2.60).
Avisynth DLL path: C:\Windows\SysWOW64\avisynth.dll
Avisynth 32-Bit edition found!
Avisynth 64-Bit support is being tested.
Avisynth was detected successfully (current version: 2.60).
Avisynth DLL path: C:\Windows\System32\AviSynth.dll
Avisynth 64-Bit edition found!
Avisynth thread finished.
Avisynth support is officially enabled now! [x86=1, x64=1]

[Check for VapourSynth support]
VapourSynth thread has been created, please wait...
VapourSynth Dir: C:/Program Files (x86)/VapourSynth
VapourSynth EXE: C:/Program Files (x86)/VapourSynth/core32/vspipe.exe
VapourSynth DLL: C:/Program Files (x86)/VapourSynth/core32/vapoursynth.dll
VapourSynth 32-Bit edition *not* found!
VapourSynth EXE: C:/Program Files (x86)/VapourSynth/core64/vspipe.exe
VapourSynth DLL: C:/Program Files (x86)/VapourSynth/core64/vapoursynth.dll
VapourSynth version was detected successfully.
VapourSynth 64-Bit edition found!
VapourSynth thread finished.
VapourSynth support is officially enabled now! [x86=0, x64=1]


And Vapoursynth:

C:\Program Files (x86)\VapourSynth\core64>vspipe.exe -v
VapourSynth Video Processing Library
Copyright (c) 2012-2015 Fredrik Mellbin
Core R29
API R3.2
Options: -

C:\Program Files (x86)\VapourSynth\core64>

LoRd_MuldeR
3rd January 2016, 20:12
Hm, looks like VapourSynth was detected successfully:
[Check for VapourSynth support]
VapourSynth thread has been created, please wait...
VapourSynth Dir: C:/Program Files (x86)/VapourSynth
VapourSynth EXE: C:/Program Files (x86)/VapourSynth/core32/vspipe.exe
VapourSynth DLL: C:/Program Files (x86)/VapourSynth/core32/vapoursynth.dll
VapourSynth 32-Bit edition *not* found!
VapourSynth EXE: C:/Program Files (x86)/VapourSynth/core64/vspipe.exe
VapourSynth DLL: C:/Program Files (x86)/VapourSynth/core64/vapoursynth.dll
VapourSynth version was detected successfully.
VapourSynth 64-Bit edition found!
VapourSynth thread finished.
VapourSynth support is officially enabled now! [x86=0, x64=1]

Are you 100% sure this log is from the same run where you got the VapourSynth error when trying to encode from VPY file? :confused:

tona69
3rd January 2016, 20:18
Hm, looks like VapourSynth was detected successfully:


Are you 100% sure this log is from the same run where you got the VapourSynth error when trying to encode from VPY file? :confused:

Yes, is the first time that show me that error, I alway use your program to encode since 2010 but with avs files and then Vapoursynth

tona69
3rd January 2016, 20:23
Hm, looks like VapourSynth was detected successfully:


Are you 100% sure this log is from the same run where you got the VapourSynth error when trying to encode from VPY file? :confused:

http://prntscr.com/9lop58
http://prntscr.com/9lop58

LoRd_MuldeR
3rd January 2016, 20:24
Yes, is the first time that show me that error, I alway use your program to encode since 2010 but with avs files and then Vapoursynth

So what did you change right before it started failing?

Update to a newer program version? If so, what is the last version that was still working okay? Otherwise, maybe you updated to a newer VapourSynth version?

LoRd_MuldeR
3rd January 2016, 20:28
It's working for me with VapourSynth R26:
C:\Program Files (x86)\VapourSynth\core32>vspipe.exe -v
VapourSynth Video Processing Library
Copyright (c) 2012-2014 Fredrik Mellbin
Core R26
API R3.1Simple x264 Launcher (Build #1004), built 2016-01-02

Job started at 2016-01-03, 20:26:10.

Source file : C:\Program Files (x86)\VapourSynth\Test.vpy
Output file : C:\Users\MuldeR\Videos\Test.hevc

--- SYSTEMINFO ---

Binary Path : E:\DeLpHi\x264_x64_launcher\bin\Win32\Release
Avisynth : Yes
VapourSynth : Yes

--- SETTINGS ---

Encoder : x265 (H.265/HEVC), x64, 8-Bit
Source : VapourSynth (vpy)
RC Mode : CRF
Preset : veryslow
Tuning : <None>
Profile : <Unrestricted>
Custom : --psy-rd 2.0

--- CHECK VERSION ---

Detect video encoder version:

Creating process:
E:\DeLpHi\x264_x64_launcher\bin\Win32\Release\toolset\x64\x265_8bit_x64.exe --version

x265 [info]: HEVC encoder version 1.8+187-da48f2690076
x265 [info]: build info [Windows][GCC 5.2.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64 SlowShuffle

Detect video source version:

Creating process:
"C:\Program Files (x86)\VapourSynth\core32\vspipe.exe" --version

VapourSynth Video Processing Library
Copyright (c) 2012-2014 Fredrik Mellbin
Core R26
API R3.1

> x265 version: 1.8+187
>
VapourSynth version: r26 (API r3)

--- GET SOURCE INFO ---

Creating process:
"C:\Program Files (x86)\VapourSynth\core32\vspipe.exe" --info C:\PROGRA~2\VAPOUR~1\test.vpy -

Width: 920
Height: 712
Frames: 6220
FPS: 50000/1000 (50.000 fps)
Format Name: YUV420P8
Color Family: YUV
Bits: 8
SubSampling W: 1
SubSampling H: 1

Resolution: 920x712
Frame Rate: 50000/1000
No. Frames: 6220

--- ENCODING VIDEO ---

Creating input process:
"C:\Program Files (x86)\VapourSynth\core32\vspipe.exe" --y4m C:\PROGRA~2\VAPOUR~1\test.vpy -

Creating encoder process:
E:\DeLpHi\x264_x64_launcher\bin\Win32\Release\toolset\x64\x265_8bit_x64.exe --crf 20.0 --preset veryslow --psy-rd 2.0 --output C:\Users\MuldeR\Videos\Test.hevc --frames 6220 --y4m -

y4m [info]: 920x712 fps 50000/1000 i420p8 unknown frame count
raw [info]: output file: C:\Users\MuldeR\Videos\Test.hevc
x265 [info]: HEVC encoder version 1.8+187-da48f2690076
x265 [info]: build info [Windows][GCC 5.2.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64 SlowShuffle
x265 [info]: Main profile, Level-3.1 (Main tier)
x265 [info]: Thread pool created using 4 threads
x265 [info]: frame threads / pool features : 2 / wpp(12 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 3 inter / 3 intra
x265 [info]: ME / range / subpel / merge : star / 57 / 4 / 4
x265 [info]: Keyframe min / max / scenecut : 25 / 250 / 40
x265 [info]: Lookahead / bframes / badapt : 40 / 8 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 1
x265 [info]: References / ref-limit cu / depth : 5 / 0 / 1
x265 [info]: AQ: mode / str / qg-size / cu-tree : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-20.0 / 0.60
x265 [info]: tools: rect amp limit-modes rd=6 psy-rd=2.00 rdoq=2 psy-rdoq=1.00
x265 [info]: tools: signhide tmvp b-intra strong-intra-smoothing deblock sao

tona69
3rd January 2016, 20:35
So what did you change right before it started failing?

Update to a newer program version? If so, what is the last version that was still working okay? Otherwise, maybe you updated to a newer VapourSynth version?

My computer is x64, previously it used the 32-bit version of Vapoursynth, Avisynthand Python, but uninstalled to use 64-bit was when the error occurred

I run the same script in in StaxRip_x64 and is fine.

LoRd_MuldeR
3rd January 2016, 20:40
Just tried VapourSynth R29, but everything is working perfectly fine:
http://i.imgur.com/iGZ9xDK.jpg

tona69
3rd January 2016, 20:43
Just tried VapourSynth R29, but everything is working perfectly fine:
http://i.imgur.com/iGZ9xDK.jpg

Simple x264/x265 Launcher (http://prntscr.com/9lozrv)

StaxRip x64 (http://prntscr.com/9lp19p)

I reinstalled all again and woks fine all : )

Works again (http://prntscr.com/9lpb9j)

LoRd_MuldeR
4th January 2016, 20:00
Simple x264/x265 Launcher (http://prntscr.com/9lozrv)

StaxRip x64 (http://prntscr.com/9lp19p)

I reinstalled all again and woks fine all : )

Works again (http://prntscr.com/9lpb9j)

Okay, after thinking about it a bit more, I probably know what your problem was:

If you have only the 32-Bit version VapourSynth installed, but you have selected "prefer 64-Bit" in the preferences, it was going to fail at the start of the encode.

Similarly, if you have only the 64-Bit version VapourSynth installed, but you have not selected "prefer 64-Bit" in the preferences, encode was going to fail as well.

This Test build should improve the "32-Bit vs. 64-Bit" selection logic for the Avisynth/VapourSynth source filters:
http://sourceforge.net/projects/muldersoft/files/Simple%20x264%20Launcher/Testing/x264_launcher.2016-01-04.TEST.exe/download