Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support/pass through other ffmpeg flags #37

Open
peter-lyons-kehl opened this issue Nov 3, 2022 · 3 comments
Open

Support/pass through other ffmpeg flags #37

peter-lyons-kehl opened this issue Nov 3, 2022 · 3 comments

Comments

@peter-lyons-kehl
Copy link

Hi Timothy,

Thank you for Chronicler.
It already passes in some of flags (pix_fmt, c:v, preset). Could it also pass any other flags that the user enters? Like

@arciisine
Copy link
Owner

https://github.com/arciisine/vscode-chronicler/blob/master/src/config.ts#L36-L44
https://github.com/arciisine/vscode-chronicler/blob/master/src/recorder.ts#L60

There is a flags object that should get passed through to the recording instance. I specifically added that for being able to manipulate the color profile as QuickTime works differently from most everything else.

@peter-lyons-kehl
Copy link
Author

peter-lyons-kehl commented Nov 4, 2022

I've been using flags:

    "chronicler.recording-defaults": {
        "flags": {
            "c:v": "libx264rgb",
            "crf": 0,
            "color_range": 2
        },
        "fps": 4,
        "countdown": 3
    },

Out of the 3 entries under flags, only "c:v" gets passed through. But crlf and color_range don't get passed through. My settings:

"chronicler.ffmpeg-binary": "/home/pkehl/GIT/present_markdown_reveal.js/all_args.sh",

...

"chronicler.dest-folder": "${workspaceFolder}/.videos",
    "chronicler.recording-defaults": {
        "flags": {
            "c:v": "libx264rgb",
            "crf": 0,
            "color_range": 2
        },
        "fps": 4,
        "countdown": 3
    },

That records in /tmp/all_args.txt that FFMPEG would be invoked with: -threads 4 -r 4 -video_size 1440x900 -f x11grab -i :1+3200,898 -f pulse -i default -b:a 384k -c:a aac -ac 1 -preset ultrafast -crf 10 -pix_fmt yuvj444p -c:v libx264rgb -y /home/pkehl/GIT/no_std_rust_libs/.videos/no_std_rust_libs-1667520195632.mp4. So

  • crlf from the settings is not passed through (it's set to its default of 10 instead of 2), and
  • color_range is not passed through.

That works as documented - README.md only mentions passing through pix_fmt, c:v, preset. But that may not cover the needs of users.

@PEZ
Copy link

PEZ commented Oct 20, 2023

Could it be this definition that filters the flags? https://github.com/arciisine/vscode-chronicler/blob/master/src/types.ts#L3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants