Closed nathanielcwm closed 3 years ago
@nathanielcwm can you provide minimal file that errors out?
I believe this should be able to trigger it: Nichijou_D1_t15.zip
On my end I can confirm that it encodes & splits fine when I remove the audio tracks from the file beforehand.
Not that this is a perfect fix, but as a work around you can use the new Vapoursynth support and feed your input in via a Vapoursynth script. There's no audio exposed in that mode (not yet anyways, Vapoursynth is working on audio support in the future), so it would get you off the ground.
Edit: Just thought of this... if we really want to get fancy, we can strip out the audio and pipe the video using the same method I added for Vapoursynth. Effectively use ffmpeg to feed the yuv4mpeg data via a named pipe, and point PySceneDetect at that. Would need to pass it the number of frames though.
How would I do that?
On 10/29/20, Austin Dworaczyk Wiltshire notifications@github.com wrote:
Not that this is a perfect fix, but as a work around you can use the new Vapoursynth support and feed your input in via a Vapoursynth script. There's no audio exposed in that mode (not yet anyways, Vapoursynth is working on audio support in the future), so it would get you off the ground.
-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/master-of-zen/Av1an/issues/184#issuecomment-718358582
@nathanielcwm I would recommend use aom_keyframes for now on, it's quite fast
Sorry, been busy of late.
To answer your question @nathanielcwm - you'll need to have Vapoursynth installed, as well as it's L-SMASH or FFMS2 source plugins.
Then you can write a script like the following, and feed that to av1an:
# save this as something like 'script.vpy'
import vapoursynth as vs
core = vs.core
source = core.lsmas.LWLibavSource(r"/path/to/your/file.mkv")
#Alternative
#source = core.ffms2.Source(r"/path/to/your/file.mkv")
source.set_output()
Or you can try using aom_keyframes
as @master-of-zen recommends. Note though - you'll likely want to use the latest version of the aom encoder from git, since there's a massive performance speedup when using the git version vs the last release (2.0 or whatever).
@adworacz can you tell the parameter used to feed vpy script to av1an? It's not mentioned anywhere.
It's the same source parameter as a video file, so av1an -i myscript.vpy
will work. Note that if you're using 10-bit output from the Vapoursynth script, you'll likely want to set the pix_fmt
parameter to match appropriately.
That's not an issue anymore, as there is no more pyscenedetect
Scenedetect doesn't support files with multiple audio tracks.
This error is also only visible when scenedetect is run directly as through av1an the only indicator given is that in the log where it states that it found 0 scenes.
Pyscenedetect Log:
Av1an Console:
Av1an Log: log.log