mpvnet-player / mpv.net

🎞 mpv.net is a media player for Windows with a modern GUI.
GNU General Public License v2.0
3.41k stars 161 forks source link

`additional_flags` option from mpv-webm script is not working #619

Open soredake opened 9 months ago

soredake commented 9 months ago

Describe the bug additional_flags option from mpv-webm script is not working (gives errors).

To Reproduce 1) Install latest mpv.net 2) Install this script https://github.com/serenae-fansubs/mpv-webm/releases/download/latest/webm.lua (can be done with curl -L --create-dirs --remote-name-all --output-dir $env:APPDATA\mpv.net\scripts "https://github.com/serenae-fansubs/mpv-webm/releases/download/latest/webm.lua") 3) Do (Get-Content "$env:APPDATA\mpv.net\scripts\webm.lua") -replace '"mpv"', '"mpvnet.exe"' | Set-Content "$env:APPDATA\mpv.net\scripts\webm.lua" to make script use mpvnet binary 4) Add options to mpv.net\script-opts\webm.conf:

target_filesize=0
write_filename_on_metadata=yes
output_format=webm-vp9
# https://github.com/ekisu/mpv-webm/issues/144#issuecomment-1417919367
libvpx_threads=12
additional_flags=--ovcopts-add=row-mt=1 --ovcopts-add=tile-columns=5 --ovcopts-add=speed=2

5) Try to record a fragment with this script (https://github.com/serenae-fansubs/mpv-webm#usage)

Expected behavior additional_flags option should work like in plain mpv.

Screenshots image

Additional context Add any other context about the problem here.

  1. v7.0.0.3-beta
  2. Windows 11 23H2
  3. RX 560
  4. Media info
stax76 commented 9 months ago

I have a raw idea what's wrong and hopefully can fix it.

stax76 commented 8 months ago

Please try if the new beta version fixes it, if so the issue can be closed.

soredake commented 8 months ago

@stax76 still having some errors: image

stax76 commented 8 months ago

You can try an auto build from here:

https://github.com/mpvnet-player/mpv.net/actions

It needs a few minutes to build, it fixed a problem with a leading comma.

soredake commented 8 months ago

@stax76 first three errors disappeared, but last two is still there: image

stax76 commented 8 months ago

I have to try this script myself and see if I can find what the problem is.

stax76 commented 8 months ago

I could reproduce it, but couldn't find what is wrong or different.

[webm] [ffmpeg] libvpx-vp9: Neither bitrate nor constrained quality specified, using default CRF of 32

"mpvnet" "E:\Video\Samples\Blackmagic Pocket.webm" --start=0:00:00.000 --end=0:09:28.121 --loop-file=no --no-pause --ovc=libvpx-vp9 --oac=libopus --vid=1 --aid=1 --sid=no --sub-ass-override=yes --sub-ass-vsfilter-aspect-compat=yes --sub-auto=fuzzy --sub-pos=100.000000 --sub-delay=0.000000 --video-rotate=0 --deinterlace=no --vf-add=lavfi-eq=contrast=1:saturation=1:brightness=0 --ovcopts-add=threads=12 --ovcopts-add=auto-alt-ref=1 --ovcopts-add=lag-in-frames=25 "--oset-metadata=title=%17%Blackmagic Pocket" --ovcopts-add=b=0 --ovcopts-add=row-mt=1 --ovcopts-add=tile-columns=5 --ovcopts-add=speed=2 --ovcopts-add=crf=10 --ovcopts-add=qmin=8 --ovcopts-add=qmax=12 "--o=E:\Video\Samples\Blackmagic Pocket-[00.00.000-09.28.121]-audio.webm" --ovcopts-add=flags=+pass1

"mpv   " "E:\Video\Samples\Blackmagic Pocket.webm" --start=0:00:00.000 --end=0:09:28.121 --loop-file=no --no-pause --ovc=libvpx-vp9 --oac=libopus --aid=1 --vid=1 --sid=no --sub-ass-override=yes --sub-ass-vsfilter-aspect-compat=yes --sub-auto=fuzzy --sub-pos=100.000000 --sub-delay=0.000000 --video-rotate=0 --deinterlace=no --vf-add=lavfi-eq=contrast=1:saturation=1:brightness=0 --ovcopts-add=threads=12 --ovcopts-add=auto-alt-ref=1 --ovcopts-add=lag-in-frames=25 "--oset-metadata=title=%17%Blackmagic Pocket" --ovcopts-add=b=0 --ovcopts-add=row-mt=1 --ovcopts-add=tile-columns=5 --ovcopts-add=speed=2 --ovcopts-add=crf=10 --ovcopts-add=qmin=8 --ovcopts-add=qmax=12 "--o=E:\Video\Samples\Blackmagic Pocket-[00.00.000-09.28.121]-audio.webm" --ovcopts-add=flags=+pass1

[webm] [mpv.net] threads=12
[webm] [mpv.net] threads=12,auto-alt-ref=1
[webm] [mpv.net] threads=12,auto-alt-ref=1,lag-in-frames=25
[webm] [mpv.net] threads=12,auto-alt-ref=1,lag-in-frames=25,b=0
[webm] [mpv.net] threads=12,auto-alt-ref=1,lag-in-frames=25,b=0,row-mt=1
[webm] [mpv.net] threads=12,auto-alt-ref=1,lag-in-frames=25,b=0,row-mt=1,tile-columns=5
[webm] [mpv.net] threads=12,auto-alt-ref=1,lag-in-frames=25,b=0,row-mt=1,tile-columns=5,speed=2
[webm] [mpv.net] threads=12,auto-alt-ref=1,lag-in-frames=25,b=0,row-mt=1,tile-columns=5,speed=2,crf=10
[webm] [mpv.net] threads=12,auto-alt-ref=1,lag-in-frames=25,b=0,row-mt=1,tile-columns=5,speed=2,crf=10,qmin=8
[webm] [mpv.net] threads=12,auto-alt-ref=1,lag-in-frames=25,b=0,row-mt=1,tile-columns=5,speed=2,crf=10,qmin=8,qmax=12
[webm] [mpv.net] threads=12,auto-alt-ref=1,lag-in-frames=25,b=0,row-mt=1,tile-columns=5,speed=2,crf=10,qmin=8,qmax=12,flags=+pass1

public void ProcessCommandLineArgsPost()
{
    foreach (var pair in CommandLine.Arguments)
    {
        if (pair.Name.EndsWith("-add"))
        {
            string name = pair.Name[..^4];
            string separator = name.Contains("-file") || name.Contains("-path") ? ";" : ",";
            SetPropertyString(name, (GetPropertyString(name) + separator + pair.Value).TrimStart(',', ';'));
            Terminal.WriteError(GetPropertyString(name));
        }
    }
}