FastFlix
FastFlix copied to clipboard
Add `-report` and `-psnr` options
Parameters I currently use via additional params are: vbv-maxrate=5000:vbv-bufsize=30000
(this constrains the stream rate on average to around 5mbps while allowing some bursting as needed up to a ~6 second buffer. For any streaming use case this produces a far more deliverable file than pure crf)
Parameters I currently use via custom options are: -psnr -report
this produces some data on the result quality
I think both of these are worth recommending for many use cases. I also would like to see some of the highlights of --report surfaced after job completion in the UI. Note that all of the above are currently supported via additional/custom so I wouldn't bother implementing if the feature wasn't likely to be merged.
The other enhancement areas I would like to see are some parameters I don't think can currently be controlled by the config profiles (please let me know if these are already supported):
- max width (4k->1080)
- audio conversion codec
- audio bitrate
- audio select first 6 channel in preferred language instead of the 7.1
For all of the above, if the features make sense and would be welcome I am happy to either treat this as a feature request or implement and send a pull request. UI design isn't necessarily my strong area. Let me know, and Thanks!
watching critical role and on moible for fast response so sorry for any terseness / non spelled out stuff for tonight.
VBV are in the Advanced Panel
PSNR / Report / Metrics are a good thing to add! Maybe have like a "view report" button on the queue line.
All good things to add for the profiles. Audio and subtitle rules engine / profile selection is an ongoing endeavor that I keep avoiding because is hard, hopefully will get there sooner rather than later.
Thanks for opening issue with all that brought up, love the feedback and ideas!
Makes sense, thanks, no need for more verbose version.
Any objection to profile controlling advanced settings or is it just code that hasn't been written?
For audio selection a rich rules engine is hard. But if you are working with Blu-Ray or UHD sourced content the spec requires a 5.1 AC3 or DTS track. So the simple version that opts into defaulting to that track might solve 80%. Beyond that I'd just support a python plugin api (pass list of streams to a function that returns the subset to keep). Or maybe something like LUA or CEL. Fundamentally it's either an enum of strategies or an interface to define a function.
Subtitles are small enough that careful filtering is low ROI. At some point I'll figure out how to run pgs through tesseract but until then I'm happy enough just keeping all English. My problem with audio is especially when there is a TrueHD track I can end up with an output that is 75% audio bytes.
Would love to have the advanced settings added to the profile page! Simply hasn't been written yet.
The biggest thing I want to add right now is bulk encoding. Which has audio / subtitle profiles at it's core for a pre-requirement, so this is definitely something I am trying to figure out best way to handle ATM.
I would love to have auto translation, using Subtitle Edit with Tesseract now and have to do very few manual changes. So if I ever could figure out how to extract the frames from PSG and other image based subs directly with ffmpeg to images would love to try that. (Could try to burn on the subs to black background, but don't know how to easily find unique frames / subtitles.)
With the lastest versions, a lot of these items have been added. Audio profiles and advanced settings are now in the profiles!
I think the main thing left is -psnr
and -report
, renaming ticket to that for easier tracking.