Skip to content

Commit

Permalink
new your open sources
Browse files Browse the repository at this point in the history
  • Loading branch information
JJTonons876 committed Feb 16, 2024
1 parent ac6071f commit 65645ba
Show file tree
Hide file tree
Showing 38 changed files with 2,114 additions and 0 deletions.
Empty file added My Mody Coded/C#/YTPGEnas.cs
Empty file.
56 changes: 56 additions & 0 deletions My Mody Coded/C#/mlg.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
using System;
using System.IO;
using Accord.Video.Formats;
using Accord.Video.IO;
using OpenCvSharp;

namespace MLGGenerator
{
public class MLGGenerator
{
private VideoFileReader videoReader;
private string outputDirectory;

public void LoadVideo(string filePath)
{
videoReader = new VideoFileReader();
videoReader.Open(filePath);

outputDirectory = Path.Combine(Path.GetDirectoryName(filePath), "frames");
Directory.CreateDirectory(outputDirectory);
}

public void GenerateMLG()
{
int frameIndex = 0;

while (frameIndex < videoReader.FrameCount)
{
Mat frame = videoReader.ReadVideoFrame();

// Apply MLG effects to the frame
ApplyMLGEffects(frame);

// Save the frame as an image
string outputPath = Path.Combine(outputDirectory, $"frame_{frameIndex:D4}.png");
Cv2.ImWrite(outputPath, frame);

frameIndex++;
}
}

public void SaveVideo(string filePath)
{
// Use OpenCV to create a video from the image sequence
// ...

File.Move(filePath, Path.ChangeExtension(filePath, "avi"));
}

private void ApplyMLGEffects(Mat frame)
{
// Use OpenCV to apply MLG effects to the frame
// ...
}
}
}
63 changes: 63 additions & 0 deletions My Mody Coded/C#/shoot.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
using System.Diagnostics;
using FFmpeg.AutoGen;

public class YTPGenerator
{
public void ExtractStreams(string inputFile, string outputFolder)
{
string ffmpegPath = "ffmpeg.exe";
string arguments = $"-i \"{inputFile}\" -c copy -map 0:v \"{outputFolder}\\video.mp4\" -c copy -map 0:a \"{outputFolder}\\audio.mp3\"";

ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = ffmpegPath,
Arguments = arguments,
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};

using (Process process = new Process { StartInfo = startInfo })
{
process.Start();
process.WaitForExit();
}
}
}

using Sony.Vegas;
using Sony.Vegas.MediaDataObjects;

public class YTPGenerator
{
public void ApplyCrossfade(string projectFile)
{
Vegas vegas = new Vegas();
vegas.OpenProject(projectFile, OpenProjectOptions.Silent);

VideoEvent videoEvent1 = vegas.VideoGroup.GetVideoEventAt(0);
VideoEvent videoEvent2 = vegas.VideoGroup.GetVideoEventAt(1);

VideoTransition transition = vegas.VideoGroup.AddVideoTransitionAt(videoEvent1.EventID, videoEvent2.EventID, VideoTransitionType.Crossfade);
transition.Duration = 1;

vegas.SaveProject(projectFile, SaveProjectOptions.Silent);
vegas.CloseProject();
}
}

using Sony.Vegas;

public class YTPGenerator
{
public void ExportVideo(string projectFile, string outputFile)
{
Vegas vegas = new Vegas();
vegas.OpenProject(projectFile, OpenProjectOptions.Silent);

vegas.VideoGroup.RenderFile(outputFile, RenderingResolution.HD1080, RenderingQuality.High, RenderingOptions.Silent);

vegas.CloseProject();
}
}

65 changes: 65 additions & 0 deletions My Mody Coded/C#/startytpmv.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
using System.Diagnostics;
using FFmpeg.AutoGen;

public class YTPGenerator
{
public void ExtractStreams(string inputFile, string outputFolder)
{
string ffmpegPath = "ffmpeg.exe";
string arguments = $"-i \"{inputFile}\" -c copy -map 0:v \"{outputFolder}\\video.mp4\" -c copy -map 0:a \"{outputFolder}\\audio.mp3\"";

ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = ffmpegPath,
Arguments = arguments,
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};

using (Process process = new Process { StartInfo = startInfo })
{
process.Start();
process.WaitForExit();
}
}
}

using Sony.Vegas;
using Sony.Vegas.MediaDataObjects;

public class YTPGenerator
{
public void CreateTimeline(string videoFile, string audioFile)
{
Vegas vegas = new Vegas();
vegas.OpenProject(@"C:\path\to\project.veg", OpenProjectOptions.Silent);

VideoEvent videoEvent = vegas.VideoGroup.AddVideoTrackAt(0, true).InsertMedia(videoFile, 0, 0, 0, 0, true);
AudioEvent audioEvent = vegas.AudioGroup.AddAudioTrackAt(0, true).InsertMedia(audioFile, 0, 0, 0, 0, true);

vegas.SaveProject(@"C:\path\to\project.veg", SaveProjectOptions.Silent);
vegas.CloseProject();
}
}

using Sony.Vegas;
using Sony.Vegas.MediaDataObjects;

public class YTPGenerator
{
public void ApplyCrossfade(string projectFile)
{
Vegas vegas = new Vegas();
vegas.OpenProject(projectFile, OpenProjectOptions.Silent);

VideoEvent videoEvent1 = vegas.VideoGroup.GetVideoEventAt(0);
VideoEvent videoEvent2 = vegas.VideoGroup.GetVideoEventAt(1);

VideoTransition transition = vegas.VideoGroup.AddVideoTransitionAt(videoEvent1.EventID, videoEvent2.EventID, VideoTransitionType.Crossfade);
transition.Duration = 1;

vegas.SaveProject(projectFile, SaveProjectOptions.Silent);
vegas.CloseProject();
}
}
78 changes: 78 additions & 0 deletions My Mody Coded/C#/ytp.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
using System;
using System.Collections.Generic;
using System.IO;
using Accord.Video.Formats;
using Accord.Video.IO;

namespace YTPGenerator
{
public class VideoClip
{
public TimeSpan StartTime { get; set; }
public TimeSpan EndTime { get; set; }
public VideoEffect[] Effects { get; set; }
}

public class YTPGenerator
{
private VideoFileReader videoReader;
private VideoFileWriter videoWriter;
private List<VideoClip> clips;

public void LoadVideo(string filePath)
{
videoReader = new VideoFileReader();
videoReader.Open(filePath);

videoWriter = new VideoFileWriter();
videoWriter.Open("temp.avi", videoReader.Width, videoReader.Height, videoReader.FrameRate, VideoCodec.Default, 5000000);

clips = new List<VideoClip>();
}

public void GenerateClips()
{
Random random = new Random();
int clipCount = random.Next(10, 50); // Random number of clips between 10 and 50

for (int i = 0; i < clipCount; i++)
{
TimeSpan startTime = TimeSpan.FromSeconds(random.Next(0, (int)videoReader.Duration.TotalSeconds));
TimeSpan endTime = startTime + TimeSpan.FromSeconds(random.Next(1, 10)); // Random clip length between 1 and 10 seconds

VideoClip clip = new VideoClip
{
StartTime = startTime,
EndTime = endTime,
Effects = new VideoEffect[] { new VideoEffect() } // Add effects here
};

clips.Add(clip);
}
}

public void ApplyEffects()
{
foreach (VideoClip clip in clips)
{
foreach (VideoEffect effect in clip.Effects)
{
// Apply effects to the clip
}
}
}

public void SaveVideo(string filePath)
{
videoWriter.WriteVideo(clips);
videoWriter.Close();

File.Move("temp.avi", filePath);
}
}

public class VideoEffect
{
// Define video effects here
}
}
80 changes: 80 additions & 0 deletions My Mody Coded/C#/ytpmv module.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
using System;
using System.IO;
using Accord.Audio;
using Accord.Audio.Formats;
using Accord.Video.Formats;
using Accord.Video.IO;
using OpenCvSharp;

namespace YTPMVGenerator
{
public class Module
{
public string FilePath { get; set; }
public WaveFormat AudioFormat { get; set; }
public float[] AudioSamples { get; set; }
}

public class YTPMVGenerator
{
private Module module;
private VideoFileWriter videoWriter;
private int frameCount;

public void LoadModule(string filePath)
{
module = new Module
{
FilePath = filePath,
AudioFormat = new WaveFormat(44100, 16, 2),
AudioSamples = ExtractAudioSamples(filePath)
};
}

public void GenerateVideo()
{
videoWriter = new VideoFileWriter();
videoWriter.Open("temp.avi", 640, 480, module.AudioFormat.SampleRate, VideoCodec.Default, 5000000);

int frameRate = module.AudioFormat.SampleRate / 10; // Generate a frame every 10ms
int sampleIndex = 0;

while (sampleIndex < module.AudioSamples.Length)
{
float leftSample = module.AudioSamples[sampleIndex++];
float rightSample = module.AudioSamples[sampleIndex++];

// Generate a video frame based on the audio samples
Mat frame = GenerateFrame(leftSample, rightSample);

videoWriter.WriteVideoFrame(frame);
frameCount++;

System.Threading.Thread.Sleep(1000 / frameRate);
}

videoWriter.Close();
}

public void SaveVideo(string filePath)
{
File.Move("temp.avi", filePath);
}

private float[] ExtractAudioSamples(string filePath)
{
// Use Accord.Audio or NAudio to extract the audio samples from the module file
// ...

return audioSamples;
}

private Mat GenerateFrame(float leftSample, float rightSample)
{
// Use OpenCV to generate a video frame based on the audio samples
// ...

return frame;
}
}
}
Loading

0 comments on commit 65645ba

Please sign in to comment.