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

libvpx fails to run #196

Closed
bhepple opened this issue Dec 18, 2022 · 4 comments · Fixed by #198
Closed

libvpx fails to run #196

bhepple opened this issue Dec 18, 2022 · 4 comments · Fixed by #198

Comments

@bhepple
Copy link
Contributor

bhepple commented Dec 18, 2022

I'm trying to re-package wf-recorder for fedora now that fedora has separated ffmpeg and ffmpeg-free. I'm trying to find a codec that will work with both. Obviously the default libx264 is not available in ffmpeg-free and libopenx264 is not in ffmpeg.

I've been trying libvpx-v9 but wf-recorder takes >25s to respond to SIGINT (^C) - most users would give up, they would use pkill (SIGTERM) and find a corrupt mp4 file.

libvpx fails with ffmpeg or ffmpeg-free:

[mp4 @ 0x7fc058000d40] Could not find tag for codec vp8 in stream #0, codec not currently supported in container

I guess this is the bug that I'd like to report here but also ask what your suggestion would be for a universal codec. I should probably stay away from *vaapi|qsv|v4l2m2m|amf * as these have hardware dependencies. jpeg|webp are probably not useful in this context.

I'm told that theora is outdated and av1 is slow. Any other suggestions?

@alebastr
Copy link
Contributor

I've been trying libvpx-v9 but wf-recorder takes >25s to respond to SIGINT (^C) - most users would give up, they would use pkill (SIGTERM) and find a corrupt mp4 file.

I found that -c libvpx-vp9 -p deadline=realtime -p speed=8 helps avoiding that particular issue. Seems to be a simple change to add the default parameters.

[mp4 @ 0x7fc058000d40] Could not find tag for codec vp8 in stream #0, codec not currently supported in container

The default output container wf-recorder uses is .mp4. Apparently, ffmpeg cannot embed VP8 stream into mp4 container and .webm should be used instead. But webm only supports vp8/vp9 and cannot carry other video formats :(

So... -c should also select a file extension when necessary? That doesn't look as simple to implement :(

And then there's another warning,

[mp4 @ 0x7f1b64000f00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 518375 >= 490161

which seems harmless, but should be fixed somewhere in wf-recorder.

@bhepple
Copy link
Contributor Author

bhepple commented Dec 18, 2022

It would also help if wf-recorder printed out something on SIGINT like

wf-recorder: SIGINT received: please wait while indexes are built

@bhepple
Copy link
Contributor Author

bhepple commented Dec 18, 2022

@alebastr - adding -c libvpx --muxer webm is a win for vp8, but the default file is recording.mp4 which may be confusing.

$ file recording.mp4
recording.mp4: WebM

@Conan-Kudo
Copy link
Contributor

The default output container wf-recorder uses is .mp4. Apparently, ffmpeg cannot embed VP8 stream into mp4 container and .webm should be used instead. But webm only supports vp8/vp9 and cannot carry other video formats :(

You can use mkv for all types. webm is a subset of mkv.

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

Successfully merging a pull request may close this issue.

3 participants