-
Notifications
You must be signed in to change notification settings - Fork 481
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
added video file validation and optimization when publishing streams (using --validate_file
and --optimize_file
arguments)
#2726
Conversation
8bbcfb0
to
22ed12b
Compare
4f82757
to
ad8a9bd
Compare
If the plan is for lbry-desktop to be the first place this is used by end-users, the app team will need a way to know if this feature is available on the system. Jamming it into |
a3e41f2
to
36851a5
Compare
Instructions for using this: There are two new parameters to the RPC methods Things we validate:
The audio volume check and repair is the most problematic in that it's hard to correct in a single pass. It would be much better for the user to do that on their own time. You can disable the audio volume check by setting the You can use a script to test things without running the full SDK. It's called video_checker.py and lives in the SDK's scripts folder. At present, the SDK creates a "fixed" video file next to the one that the user selected. It does not remove the fixed video. The user can use that for comparison to the original. We don't currently have events in place to allow us to delete the file once it has been successfully published. There are some options that can be manually configured in the conf file. Here's a cut of the code for that:
|
Is the expectation that this PR will include everything sufficient to add a checkbox to lbry-desktop on publish? |
@kauffj , yes this will be sufficient for checkbox in the app. I think the question of what to do with the transcoded file is still lingering, but that may linger until there is an event system in the SDK that can let us know when a file is no longer needed. |
I also want some additional testing on the audio volume handling, to know if we want to ship with that feature on or off. |
@lyoshenka proposes that we name the parameters "check_browser_compatibility" and "optimize_for_browser_compatibility". Any others for or against? |
@kauffj depends, does the app need to know if transcoding capability is available before showing the checkbox option? |
Yes: #2726 (comment) |
a791b75
to
50ec32c
Compare
Did some testing and debugging with Brannon on Windows yesterday and it can't find ffmpeg/ffprobe, even when setting the config path directly. Brannon will take another look. |
977ccf3
to
d03204b
Compare
what would be the advantage of adding a separate field to status over simply checking for a minimum SDK version number? |
You'd still want to know if someone has the ffmpeg binaries in place before having them check the box. @kauffj how do you feel about having something in the UI that will guide them to a download, and extract the binaries to the sdk folder (which would be set in the config). Do we want the first version without that? I think it would be easier if we at least told people "put it in this directory" vs having them add it to path or having them configure the ffmpeg path in settings. |
I do not think the SDK version number guarantees ability to transcode (will lbry.tv be able to do it? will Android?). I'm all for good instructions and lots of other things to make this more accessible, I'm just looking, as always, to ship something as soon as possible. It seems like simply only showing the box if it's already on the system and callable is faster than figuring out how to bundle, auto-install, handhold users, add configurable setting, etc. (I want to reiterate, all of these are good things, but we'll start learning more and sooner by shipping.) |
d03204b
to
c8ab8bb
Compare
I've added ffmpeg_status to the status() method on the daemon. It includes fields: availabe, which, and analyze_audio_volume. |
76c3a7c
to
fcc06cd
Compare
works Fixing lint tests remove eval
added universe try again try 4
using a cross-platform workaround fixed proactor use in the SDK fixed linter
fcc06cd
to
1780ddd
Compare
--validate_file
and --optimize_file
arguments)
Please review and ask questions. Use the script to test files.
Fixes #1988