Godot - Video Player frozen on launch - godot

Good Morning Everyone,
I'm trying to use Godot for a very simple app.
Open to start screen with a looping video.
If button 1 is pressed, change scene, start video 2, return to start at end of video 2
If button 2 is pressed, ^ for video 3
I'm using WebM as my video sources. Sizes are 14.6 MB, 36.8 MB, 37.4 MB.
I have autoplay selected.
However, the video is frozen on frame 1 and no audio plays. the log prints True for is_playing()
Any advice?

Godot WebM support had many of issues, ranging from slow performance to crashes. Consequently it has been removed for Godot 4.0 to reduce maintenance cost (read more). Whether or not it will make a return as an official plugin is yet to be determined, but some kind of plugin is likely to be the path forward for WebM support in Godot.
Although Godot 3.x may still get WebM patches. I would encourage to convert the video to OGV. There are plenty of free tool that can do this conversion.

Related

Ableton Live 11 Lite: Lagging or distorted delay of recording

I'm using Ableton Live 11 Lite while recording a cover, and discovered that all of my recording comes out as a jittery mess all of the sudden. I'm using a Focusrite Scarlett Solo, a Squier Telecaster, Maestro Ranger Over-Drive pedal, and an Audio-Technica Mic. It's a new project, I have a metronome set up for recording Privately Owned Spiral Galaxy, and the audio interface splits the mic and guitar into separate tracks that I'm trying to record individually. I posted a sample of the God-awful sound of it recording here for reference.
P.S. I know this isn't the correct page but there's hardly any Ableton/DAW questions on the Music page and no answers really, as opposed to the several I found on SO.
I would start with playing with your buffer size in your Audio driver.

record screen with high quality and minimum size in ElectronJS (Windows)

as I said in the title, I need to record my screen from an electron app.
my needs are:
high quality (720p or 1080p)
minimum size
record audio + screen + mic
low impact on PC hardware while recording
no need for any wait after the recorder stopped
by minimum size I mean about 400MB on 720p and 700MB on 1080p for a 3 to 4 hours recording. we already could achieve this by bandicam and obs and it's possible
I already tried:
the simple MediaStreamRecorder API using RecordRTC.Js; produces huge file sizes, like 1GB per hour for 720p video.
compressing the output video using FFmpeg; it can take up to 1 hour for 3 hours recording
save every chunk with 'ondataavailable' event and right after, run FFmpeg and convert and reduce the size and append all the compressed files (also by FFmpeg); there are two problems. 1, because of different PTS but it can be fixed by tunning compress command args. 2, the main problem is the audio data headers are only available in the first chunk and this approach causes a video that only has audio for the first few seconds
recording the video with FFmpeg itself; the end-users need to change some things manually (Stereo Mix), the configs are too complex, it causes the whole PC to work slower while recording (like fps drop; even if I set -threads to 1), in some cases after recording is finished it needs many times to wrap it all up
searched through the internet to find applications that can be used from the command line; I couldn't find much, the famous applications like bandicam and obs have command line args but there are not many args to play with and I can't set many options which leads to other problems
I don't know what else I can do, please tell me if u know a way or simple tool that can be used through CLI to achieve this and guide me through this
I end up using the portable mode of high-level 3d-party applications like obs-studio and adding them to our final package. I also created a js file to control the application using CLI
this way I could pre-set my options (such as crf value, etc) and now our average output size for a 3:30 hour value with 1080p resolution is about 700MB which is impressive

Real duration of audios played through browsers

I need to play 4 audios through a browser web.
These audios last 150ms, 300ms, 450ms and 600ms.
I don't care about latency (if an audio is played 100 ms after it's not that important for my purpose).
But I do care about the duration of these audios: is the 150ms audio last exactly 150ms or there is an error due to the audio board or other components?
I know for sure that there is an error (I see a test using a Mac).
My question is: can anyone show me a paper, an article or anything that talks about the duration and test different setting or tell me if this error is always (Windows, Mac, old device, new device) very small (less than 10ms for example).
In other words: if I play an audio of 100ms how long does it really last (100ms? more? less?)?
In what manner is the sound not lasting the correct amount of time?
Does the beginning or the end get cut off?
Does the sound play back slower or faster than it should?
In my experience, I've never heard an error with playback rates caused by the browser or sound boards. But I have come across situations where a sound is played back with a different audio format than which is was encoded. For example, a sound encoded at 48000 fps played back at 44100 fps will take longer to execute, but will be very close to the original in pitch (maybe about a 1/2 step lower). I recommend as a diagnostic step to confirm the audio format used at each end. How to do so will depend on the systems being used.

How does TikTok stream videos in android or how to reduce start time of video in ExoPlayer?

I'm developing an app where I want to stream video from URL. I'm currently using ExoPlayer for streaming and it is working fine but it has a delay of around 5 seconds before the video loads and starts playing. Is there any way to reduce this start time or some way like how TikTok streams their videos on the go. There's no lag involved in TikTok. Could anyone give some workaround for this?
I am quite a newbie with exoplayer, but I have learnt this:
I assume you are using a recyclerview to load a lot of videos.
And also that you are playing the video via a url.
WHAT YOU CAN DO:
a. the solution is to precache the video before it even appears on the screen. for example, whilst the video at position 0 is playing, you precache and prebuffer position 1.
Hence, you always precache/prebuffer getAdapterPosition() + 1;
This makes exoplayer load the url even before you get to the video.

Delay Audio on Windows 10 by a second

Is there a way to universally delay audio in Windows 10 (I have Realtek Hi-Definiton Audio) as an example.
I have 2 reasons why I want to accomplish this
1) My audio is playing a quarter of a second before the video plays (out of sync). This is consistent in youtube, vlc media player, windows media player, pretty much any video content... the mouth will move 1/4 second after the audio. The delay builds up overtime as well, about 5 minutes in it becomes unbearable.
2) Unrelated to #1 I want to scan the audio and edit it in near real time. Searching for certain sounds and also reading certain subtitles.

Resources