Delay lines of subtitles by 0.04 seconds more than the line before - subtitle

I used aegisub to synchronize the subtitles of a 1 hour video.
It looks perfect inside aegisub, but when I open the file.ass with another player there is a gradual delay...
It is up to 23 seconds at the end of the video!
I did the math and each lines are ~0.04 sec delayed. (The first 0.04, the second 0.08, etc...)
Is there a way to automatically change the timing using what I know ?

Not sure if aegis can fix this, but I fixed it with Gaupol : Tool, Transform position and i subtracted the delay on the last line.

Related

Set new startTime and endTime on videojs

My problem is that I'm trying to reposition the start time and end time on the seek bar. My use case is this: i'm watching the video with a progress bar that go from 0 to 300 sec (e.g.). When i arrive at 200 sec, i want to set start time at 200 sec so the marker go to new 0 (old 200) and the stream continues. I'm using the last version of videojs and my code is not necessary because is almost native.

Showing text in intervals using ffmpeg

I'm trying to show a text in intervals using FFmpeg, for example showing "Hello" for 10 seconds, hide it for 30 seconds and repeat the operation over and over....
Is there a way to do that?
I'm able to show the text in some interval but don't know how to repeat it...
Thanks.
LordFord.
I assume you are using the drawtext filter.
Add the enable option like this:
enable='lt(mod(t,40),10)'
With the above expression, for each 40 seconds, the text is shown for the first 10 seconds and hidden for the rest. mod is the modulus function. lt is the less-than function.
Basically, if enable evaluates to non-zero, the filter is active.

How to get time in mm:ss format in App Inventor

I am making an app for myself in app inventor which calculates time. There are two buttons (start, stop) and a label to display the time.
Now my problem is that I get the resultant time which is (stop time - start time) in milliseconds but I want it in MM:SS format. I tried certain clock buttons like get instant from milliseconds and time format too, but still failed to resolve the issue.
see the screenshot how to do it
for a complete example of a countdown timer see here

Python pygame continuos image loading FPS

Using pygame on a linux machine, continuously loading new images and displaying them slows down the program.
The input images (400x300) are in PPM format to keep the file size constant (360K) - not to affect IO and avoid any decompression delays.
It starts off at 50 frames per second and then after around 2 minutes its around 25 frames per second.
import pygame
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((800, 600),pygame.FULLSCREEN)
frame=1
while 1:
image = pygame.image.load(str(frame)+".ppm")
screen.blit(image,(0,0))
pygame.display.flip()
clock.tick(240)
frame=frame+1
if(frame%10==0):
print(clock.get_fps())
What can be done to keep the frame rate more consistent?
Most likely it has something to do with old references to images that need to be garbage collected. Maybe not.
Is there anyway to load images continuously without creating new objects and triggering the garbage collector or whatever is slowing the system down?
After many weeks of pondering, I think I finally figured out what your problem is. For some reason, the computer must be remembering the old values of image. After the line that blits, put
del image
I'm not entirely sure, but it might work.
import pygame
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((800, 600),pygame.FULLSCREEN)
frame=1
global image
image = pygame.image.load(str(frame)+".ppm")
#this image can be used again and again
#you can also give ////del image//// but it will load from the first so it takes time but using again and again doesn't do so
while 1:
screen.blit(image,(0,0))
pygame.display.flip()
clock.tick(240)
frame=frame+1
if(frame%10==0):
print(clock.get_fps()):

How does software like GotoMeeting capture an image of the desktop?

I was wondering how do software like GotoMeeting capture desktop. I can do a full screen (or block by block) capture using GDI but that just seems too wasteful to me. Also I have looked into Mirror devices but I was wondering if there's a simpler technique or a library out there which does this.
I need fast and efficient desktop screen capture (10p15 fps) which I am eventually going to convert into a video file and integrate with my application to send the captured feed over the network or something.
Thanks!
Yes, taking a screen capture and finding the diff between previous capture would be a good way to reduce bandwidth on transmission by sending the changes across only, of course this is similar to video encoding techniques which does this block by block.
Still means you need to do a capture plus extra processing for getting the difference, i.e, encoding it.
by using the Mirror devices you can get both the updated Rectangle that are change and also pointer to the Screen. updated Rectangle pointer point to all the rectangle that are change , these rectangle are the change rectangle that are frequently changing. filter out some of the rectangle because in one second you can get 1000 of rectangles.
I would either:
Do full screen captures, and then
perform image processing to isolate
parts of the screen that have changed
to save bandwidth.
-OR-
Use a program like CamStudio.
i got 20 to 30 frame per second using memory driver i am display on my picture box but when i get full screen update then these frame are buffered. as picture box is slow and have change to my own component this is some how fast but not good on full screen as well averge i display 10 fps in full screen. i am facing problem in rendering frames i can capture 20 to 30 frames per second but my rendering is 8 to 10 full screen frames in one second . if any one has achive rendering frames in full screen please replay me.
What language?
.NET provides Graphics.CopyFromScreen.

Resources