public void Dispose() { if (!_converter.Stop()) { _converter.Abort(); } }
private int AttemptConversion() { int status = WORKING; FFMpegConverter converter = new FFMpegConverter(); try { converter.ConvertMedia(this.orig_path, this.dest_path, TARGET_ENCODE); status = SUCCESS; } catch (FFMpegException e) { System.Diagnostics.Debug.WriteLine("Media Converter Failed: " + e.Message); status = FAILURE; } catch (Exception e) { System.Diagnostics.Debug.WriteLine("VDXMediaConverter Error: " + e.Message); System.Diagnostics.Debug.WriteLine(this.orig_path + " : " + this.dest_path); status = FAILURE; } converter.Abort(); return(status); }
private void AbortConverter() { if (!_converter.Stop()) { _converter.Abort(); } _converter.Dispose(); }
static async Task MainAsync(string[] args) { string dir = "envivio"; string mpdUrl = "http://10.5.5.7/q/p/userapi/streams/32/mpd"; //"http://10.5.7.207/userapi/streams/30/mpd"; //"http://10.5.7.207/userapi/streams/11/mpd?start_time=1458816642&stop_time=1458819642"; //"http://dash.edgesuite.net/envivio/EnvivioDash3/manifest.mpd"; //"http://dash.edgesuite.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd"; var stopwatch = Stopwatch.StartNew(); var downloader = new MpdDownloader(new Uri(mpdUrl), dir); var trackRepresentation = downloader.GetTracksFor(TrackContentType.Video).First().TrackRepresentations.OrderByDescending(r => r.Bandwidth).First(); var prepareTime = stopwatch.Elapsed; var chunks = //Directory.GetFiles(@"C:\Users\Alexander\Work\Github\qoollo\SharpDashTools\DashTools.Samples\bin\Debug\envivio", "*.mp4") //.Select(f => Path.GetFileName(f) == "make_chunk_path_longer_32.mp4" // ? new Mp4InitFile(Path.Combine("envivio", Path.GetFileName(f))) // : new Mp4File(Path.Combine("envivio", Path.GetFileName(f)))) // .ToArray(); await downloader.Download(trackRepresentation, TimeSpan.FromMinutes(60), TimeSpan.FromMinutes(60 + 60 * 6 / 6)); var downloadTime = stopwatch.Elapsed - prepareTime; var ffmpeg = new FFMpegConverter(); ffmpeg.LogReceived += (s, e) => Console.WriteLine(e.Data); var combined = downloader.CombineChunksFast(chunks, s => ffmpeg.Invoke(s)); //downloader.CombineChunks(chunks, s => ffmpeg.Invoke(s)); var combineTime = stopwatch.Elapsed - prepareTime - downloadTime; if (!ffmpeg.Stop()) { ffmpeg.Abort(); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("================================================================"); Console.WriteLine("Prepared in {0} s", prepareTime.TotalSeconds); Console.WriteLine("Downloaded {0} chunks in {1} s", chunks.Count(), downloadTime.TotalSeconds); Console.WriteLine("Combined in {0} s", combineTime.TotalSeconds); Console.WriteLine("Total: {0} s", (prepareTime + downloadTime + combineTime).TotalSeconds); Console.ReadLine(); return; string mpdFilePath = //@"C:\Users\Alexander\AppData\Local\Temp\note_5_video_5_source_2-index_00000\manifest.mpd"; await DownloadMpdStreams(mpdUrl, dir); await ConcatStreams(mpdFilePath, Path.Combine(Path.GetDirectoryName(mpdFilePath), "output.mp4")); }
public void Dispose() { if (_readingTask != null) { try { _readingTask.Abort(); } catch { } _readingTask = null; } if (_filereader != null) { try { _filereader.Abort(); } catch { } _filereader = null; } if (FrameDecoder != null) { FrameDecoder.ClearBuffer(); try { FrameDecoder.Dispose(); } catch { } FrameDecoder = null; } }
private void frmMain_FormClosing(object sender, FormClosingEventArgs e) { ffmpeg.Abort(); }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { conv.Abort(); conv.Stop(); }