Giter Site home page Giter Site logo

bartekmotyl / simple-video-cutter Goto Github PK

View Code? Open in Web Editor NEW
288.0 11.0 41.0 11.64 MB

Windows-based tool for efficient browsing and cutting video footage

License: MIT License

C# 93.41% PowerShell 6.46% Batchfile 0.13%
video cut montage dotnet windows windows-forms vlc vlc-dotnet vlc-libvlc ffmpeg

simple-video-cutter's People

Contributors

akcansoft avatar bartekmotyl avatar bovirus avatar ingof avatar tbiering avatar tioachan 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simple-video-cutter's Issues

Feature Request: Storage path for SimpleVideoCutter_config.json (for example romaing profiles)

Hi,

in our school IT environment we work with profiles, so the option to specify a path in which the configuration file will be stored is essential. Our users do not have elevated permissions on the PCs, but we should provide the program as a portable APP under C: \ Program Files.

Ideally, the storage location can be defined using a redistributable option so that the SimpleVideoCutter_config.json is stored on a path with write permissions for the user.

add variable for filename {startframe} or {starttime}

can you please add starttime variable for filenames? (00:00:00,000)
For example {starttime} or {startframe}?

With startframe i can calculate the starttime by myself
I cut several video files with existing subtitle-file (SRT)
so i can also cut the exported range of my SRT-file and add to the cutted video directory

refactor zoom auto and zoom out to become multiple zoom

At the moment, zoom auto is only capable of doing a single enlargement. On a lengthy movies, making a mistake of selecting exact brief position is quite frequent. The timeline is too dense. This thing can be reduced if zoom buttons can do multiple zoom.

Video not cutting ?

So I load a video , set the part that I want to cut with Start and End and when I click Delete, the marked area just goes unmarked but the part is still there and not cut, whats the issue here ?

[Feature request] Multiple cuts

Some files have more than one section I'd like to take away from a recording. This is especially true of very long single shots of an event or situation that's important e.g. birthday party or wedding.

I pictured the following addition but please discard the idea if it's out of scope.

  1. Under "Enqueue," another option to set selection number with a < and > buttons and a number
  2. Once the right button is pressed, it would advance to [2] and the existing selection would be grayed out
  3. Another start and end sequence can be selected, while the first is static
  4. To modify the first selection, click the left arrow button to return to [1] and make changes.
  5. Once Enqueue is select, all edits would be added to the processing list

Repeat the above process for selection 3, 4, 5, etc.

Mockup:

image

Add "Jump to prev/next keyframe"

I prefer to cut videos always at keyframe positions.

As far as I can see there is no necessary "jump to prev/next keyframe" menu in SVC.

Could you add it?

Thank you
Peter

configurable size of preview area popup

in 1920x1080 screen, the popup preview area is too large and annoying while the movie is played. it would be better if this popup is configurable, so people can adjust its dimension.

Problem when cutting AVI files

It seems that after fixing #60 (in release 0.23) there is a problem with cutting AVI files.

Stream map '0:a' matches no streams. To ignore this, add a trailing '?' to the map.

[Feature request] backward frame button & keystroke

There is forward button, but no backward button. If we want to seek prev frame, we have to click the timelime. This is very annoying for lenghty movies. the current frame is too far from the target frame. Moreover, there is no jump button (forward and backward). it would be better if jump buttons is configurable: every definitive seconds/minutes and changeable keystroke.

Problem when processing mp4 from GoPro

When trying to cut files from GoPro, ffmpeg reports a problem, visible in Simple Video Cutter as:
obraz

The problem seems to be caused by the fact that GoPro saves additional streams into the mp4 file that are not supported by ffmpeg.
(see more here)

Join several cuts into one video

In #14 support for multiple cuts was implemented. Currently, multiple cuts are saved as separate video files.
It should be possible to save them as a single video file as well.

distinguishable tickbar

On lengthy movies, it is hard to point an exact brief position, before subsequent click on zoom auto button.

Some apps use different style on tickbar to mark every 1 hour, or 1/2 hour, or 1/4 hour. There are combinations in use: color, length, and width. The simplest form uses different color for regular ticks and common time fractions as above. More stylist app uses 3 different color to distinguish: regular, 1/4, and 1 hour. It also can be applied to tick length and width.

A note on tick length: regular tick can be a form of dot, not bar, so it does not consume too much space.

It is also make sense to combine the three to achieve distinguishable tickbar.

[Feature request] Close file

It would be helpful if there were a way to close the currently open file, so that the video player would not have a video at all, like when you open the program at first.

This is because you cannot move or delete files video files on windows when they are kept "open" by simple video cutter.

Long Video doesnt show up fully

Hello,
I have a 46GB Video (mp4) that is over 37hours long.
When I load it into Simple Video Cutter, only around 11 hours are loaded in.

Anything Im doing wrong here? Shorter Videos do load well.

Due to the size of it I cannot easily upload the file, but it is a Twitch VoD.
Is there an alternative for me to split it easily/fast beforehand into smaller parts?

Thanks!

Multiple Audio Track Support

I use shadowplay with the separate audio tracks option on because my microphone is really loud at some points, so seeing support for this would be really nice as I'd like to keep the audio tracks separate

In the screenshot attached, both videos were imported into adobe premiere. The left video is the one edited using this program, on the right is the original file.
2020-07-20 16_48_54-Adobe Premiere Pro 2020 - C__Users_Euonix_Documents_Adobe_Premiere Pro_14 0_dsaf

Feature Request: Add Fields to directly enter Start and End time

Can you please add Input Fields to directly input / select Start Time and End Time.
Selecting Start and End with the mouse is a bit tricky for me.

After entering a Start time in the box the video preview should run from this time.
And after entering an End Time the Preview should play e.g. from the last 2 Seconds to this End Time/Frame an preview should than stop. Would help much!

Thank you for giving us your lovely Simple-Video-Cutter!

Put all icons in 1 toolbars (or in 2 horizontally ROWs)

Currently some menu icons (set start, clear selection,....) are arranged in a vertical toolbar.
I prefer to have such toolbars always horizontally.

Is it possible to add an option to put all icons in 1 toolbar? Or at least in 2 toolbars (at the top) but all horizontally? Maybe as a user option?

Thank you
Peter

webm support?

Will SimpleVideoCutter support webm in a near future?

Output pattern without extension causes ffmpeg crash

If an output file name (produced from output file pattern) has no extension (e.g. due to mistake in the pattern) then ffmpeg refuses to perform conversion and output file is not saved.

Possible fix: if extension is missing, then always use the same extension as in the original file.

Drag and Drop not working (sometimes)

Hello

I've encountered an issue where drag and drop is not working correctly. It's a coin toss whether or not it's going to work. I have to keep restarting the application until it works.

I'd like to drag and drop single files from Explorer rather than manually opening a file in the application.

What I've tried: First Building the project in Visual Studio and then I ran prepare-dist.cmd (build.ps1) file, re-installing FFMpeg, tried x86 and x64 etc

I run a customized version of Windows 10 Pro 64.

Thanks for any suggestions. Great software.

Buttons not refreshed when setting selection start/stop

Replication procedure:

  • Select start of selection either by pressing "Set Start" toolbar button or by pressing middle mouse click

Expected: "Set End" button is enabled

Actual: "Set End" button is not enabled

Temporary workaround: click right mouse button (anywhere), it will refresh state of buttons.

Warn if video has no length specified

As learned from #24 it can happen that for some video files LibVLC (and VLC itself as well) returns no length (as there is no length specified in the file). In this case the timeline in SVC does not work correctly.

Expected: there should b a warning for the user when opening such file.

Set default cut range is required

Thanks very much for good tool.
I am using 0.15.0.0 for my video footage now.
I usually cut front part of mine using "[", but I always have to move to the end and click "]" to cut video.
Is it possible to set default values for "[" at the begining and for "]" at the end just after loading video footage?

One more thing, How about to add auto play on/off option on setting screen? Currently video is auto played when open, and not easy to "[" position while playing..

Very thanks in advance. :-)

[Feature request] Basic command line support

It would be useful if the program took the first command line argument as a file that it would immediately open on start, as is generally standard. This way the program would work with "Open With" and drag-and-drop.

Define "same as input dir" for output directory

I would like to define the input directory of the video always as output directory of cut work.

Currently users have to define a static directory.

Could you allow the definition of "same as input dir"?

Thank you
Peter

How I can port your code to be used in .NET 5.0?

Hello:
I found your repo, which is very good. Now, I want to port your repo to target .NET 5.0.
I am now working on the WinForms part, and I have some technical issues.
I have done this:
I created a WinForms App project, target .NET 5.0, I am using Visual Studio 2019 (Version 16.10.4) on Windows 10.
I installed all necessary nuget packages, except NetStandard.Library, which VS 2019 can’t install it.
I can easily add all toolStrips, like: toolStripTasks, toolStripSelection, toolStripFile, etc.
I also added all toolStripButton, toolStripLable into each toolStrip.
However, when I need to create user control of VideoCutterTimeline.
I think it is a user control, which I can find from Toolbox in MainForm.cs.
I have created another project (Window From Control Library), called. VideoCutterTimeline.
The following is the code of UserControl1.Designer.cs:

namespace VideoCutterTimeline
{
partial class VideoCutterTimeline
{
///


/// Required designer variable.
///

private System.ComponentModel.IContainer components = null;

    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Component Designer generated code

    /// <summary>
    /// Required method for Designer support - do not modify 
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        this.SuspendLayout();
        // 
        // VideoCutterTimeline
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
        this.Name = "VideoCutterTimeline";
        this.Size = new System.Drawing.Size(1296, 71);
        this.Paint += new System.Windows.Forms.PaintEventHandler(this.VideoCutterTimeline_Paint);
        this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.VideoCutterTimeline_MouseDown);
        this.MouseLeave += new System.EventHandler(this.VideoCutterTimeline_MouseLeave);
        this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.VideoCutterTimeline_MouseMove);
        this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.VideoCutterTimeline_MouseUp);
        this.Resize += new System.EventHandler(this.VideoCutterTimeline_Resize);
        this.ResumeLayout(false);
    }
    #endregion
}

}
But I found resource manager part is difficult, as I did some test program according to Microsoft example program, I have never made them works. So I simply comment out all the globalstring part.
I can compile my class library, but when I tried to add the VideoCutterTimeline class, I can’t find it anywhere from Toolbox in MainForm.cs.
From the Toolbox in MainFrom.cs, I can see one VideoView (LibVlcSharp.WinForms), and a pointer.
If you have some free time, please advise how I can make a user control of VideoCutterTimeline in .NET 5.0 and let it can be used by Toolbox in MainForm.cs.
Thanks,

Simple video cutter is not visible, location saved to relative extremes in JSON?

I have to swap monitors around a lot for work (switching HDMI inputs which causes them all to move all over the place) and today I couldn't see the program at all. After some confusion, I figured it was set to a location outside of the viewable area, and I was correct. I opened the JSON and had this line:
"MainWindowLocation": "-32000, -32000, 160, 28",

Once I reset the -32000 values both to 1, it showed up properly (albeit small) on my primary monitor.

Subtiles shown automatically when found

If for a loaded video file corresponding subtitles file can be found as well then these subtitles are automatically shown in SVC.

Expected: subtitles are not shown, even if found.

cut video - duration not adjusted

hi
example: i have a video 7min long
when i cut it from 6:10 - 6:30, then it works, and opening it with a video player it really only shows these 20 sec.
but the time stampt starts at 6:10 to 6:30 and in the info it shows the video is in total 6:30 min long

basically i do have some dummy gap from 00:00 min - 6:09 min. why is this empty gab still added? i think the "start point" is not properly working. i did not change any settings in simple video cutter. i used it instantly when i downloaded it. the used file was an mp4 file.

what i usually expect: the video info says the video is now 20 sec long and timestamp of video bar will show 00:00 . 00:20 min duration.

Incorrect selection duration in status bar

Replication procedure:

  • open a video file
  • select a portion of video, preferably short one towards end of video
  • selection duration shown in status bar is incorrect

Additionally, duration is not updated when selections are modified by drag & drop.

Expected:

  • duration shown in status bar is a sum of durations of all selections, updated on every change ("live")

cut selection area is gone after perform cut

Sometimes we have to evaluate the output with real movie player. There is no way to edit the selection area after perform cut: the selection area is gone. we have to repeat the step from the beginning.

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.