Giter Club home page Giter Club logo

elgindy-vtt-to-srt-subtitle-converter's Introduction

Elgindy-VTT-to-SRT-Converter

A tool for converting Web Video Text Tracks Format (WebVTT) subtitle to srt one. As most of video players support srt subtitles and can't open vtt subtitles, We should convert vtt to srt or sub subtitles but it's not easy to do that.

Web Video Text Tracks Format (WebVTT) is a modern subtitle format used for online video subtitles. This tool converts many text-based subtitle formats to vtt. WebVTT is also used widely, especially for e-Learning localization and multimedia applications, since it works particularly well with HTML5-based platforms.

The SubRip text format – commonly called SRT – was initially developed as part of a program that extracts captions and subtitles from media files. This SRT text format was notable for its simplicity and ease-of-use, especially when compared to other formats available at the time, many of which used XML-based code.

You can select multiple files or a folder to convert a batch of subtitles at once.

VTT vs. SRT

1. Caption numbers. VTT files can have caption numbers, but they're not actually necessary, as you can see in the file above. SRTs must have them. 2. Time-code format. SRT separates seconds from milliseconds with a comma. VTT uses a period instead (see the time-code in yellow above). Also, no time-code hours are required in VTT files, though they’re almost always provided. 3. Metadata. WebVTT files can have metadata, and in fact, some is required, in particular having WEBVTT in the first line of the file. The VTT screenshot above has the full header highlighted (it includes file type and language), as well as a metadata note in the body. SRT can’t support metadata. 4. Formatting options. WebVTT has very robust features, including font, color and text formatting, and placement. Initially SRT couldn’t support any formatting, but it’s been upgraded to support basic text formats (bold, italic, underline) and placement. However, it doesn’t have nearly the same capabilities as VTT.

<

Requirements:

.Net framework 4.5 && Win 7 SP1, Win 8, Win 8.1, Win 10, Win Server

Download the binary file of this project from : latest release

If you like my work, Please buy me a cup of coffee

Buy Me A Coffee

elgindy-vtt-to-srt-subtitle-converter's People

Contributors

carloshbcabral avatar zezo010 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

elgindy-vtt-to-srt-subtitle-converter's Issues

Timestamp not converted correctly

It appears that in a segmented VTT the timestamp is indicated by the MPEGTS value, which is offset by 1 second (90000). The correct start time (in seconds) could therefore be calculated by dividing the MPEG-TS by 90000, less one. Elgindy-VTT-to-SRT-Subtitle-Converter seems to use the local time, which in a segmented WebVTT is always zero.

WEBVTT
X-TIMESTAMP-MAP=MPEGTS:900000,LOCAL:00:00:00.000

WEBVTT
X-TIMESTAMP-MAP=MPEGTS:13204800,LOCAL:00:00:00.000

1
00:00:00.000 --> 00:00:03.440
<i>First Sentence.</i>

WEBVTT
X-TIMESTAMP-MAP=MPEGTS:13514400,LOCAL:00:00:00.000

2
00:00:01.480 --> 00:00:03.560
<i>Second Sentence.</i>

Save last settings

Actually the only useful VTT to SRT converter that works like expected.

However I use batch files to download videos from youtube with subtitles into one folder, so the "Select folder" is a good catch. Yet everytime I start the program, I need to browse my drives again to select the right folder.

Could it be possible to keep the last settings ? Or the last 3 settings in a combo box ? For instance :

1: Files | list of files
2: Folder | Selected folder
3: Folder | Selected another folder

Btw, Happy New Year

Request Feature Enable long name folder structure

Hello developer,i got this message

can you enable long path directory support for this apps

The spesific path, file name, or both are too long. the fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()
at System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at Elgindy_VTT_to_SRT_Converter.Form1.Eo3aREiZtBJo6Rbvmc(Object )
at Elgindy_VTT_to_SRT_Converter.Form1.WpgK41SyY(Object , EventArgs )
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4042.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

Elgindy VTT to SRT Converter
Assembly Version: 1.0.0.0
Win32 Version: 1.2.0.0
CodeBase: file:///C:/Users/defaultuser0/Downloads/Elgindy.VTT.to.SRT.Converter.exe

System
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4001.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4042.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4042.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Adding some 00 in front of time

Thank you for creating a very useful application.

I have a problem with the difference in the results of the conversion.
Where if I use an online converter, the result will add two 00 numbers at the beginning and can be read by the media player.
While the results of this application he did not add two 00 at the beginning.

This is from online converter
Screenshot_1

This from your app
Screenshot_2

Remove Admin Privilege requirement

This is not a real issue but why do that need the Admin privileges.
Please remove them and i hope i can see a drag n drop support.
Thanks for the great jop.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.