private void InitRecord() { sfd = new SaveFileDialog(); try { string strFormat; IMFProps props; mWriter.WriterOptionGet(eMFWriterOption.eMFWO_Format, out strFormat, out props); string protocol = ""; props.PropsGet("protocol", out protocol); string network = ""; props.PropsGet("network", out network); //if(network == "true" || protocol.Contains("udp") || protocol.Contains("rtmp") || protocol.Contains("rtsp")) && textBoxURL.Text.Length > 0) if (sfd.ShowDialog() == DialogResult.OK) { mWriter.WriterSet(sfd.FileName, 1, "format = 'webm' video::codec = 'libvpx' audio::codec = 'libvorbis'"); } isRec = true; } catch (Exception e) { MessageBox.Show("Error: " + e.ToString()); } }
private void Start5_btn_Click(object sender, EventArgs e) { if (!start5) { OpenFileDialog a = new OpenFileDialog(); if (a.ShowDialog() == DialogResult.OK) { m_objReader5.ReaderOpen(a.FileName, "loop=true"); m_objWriter5.WriterSet(SavePath_txb.Text + "\\5.mp4", 0, EncodingConfigs_lsb.SelectedItem.ToString()); Path5_txb.Text = a.FileName; start5 = !start5; Start5_btn.BackColor = start5 ? Color.Green : Color.Red; } } else if (start5) { start5 = !start5; Thread.Sleep(10); m_objWriter5.WriterClose(0); Start5_btn.BackColor = start5 ? Color.Green : Color.Red; } }
private void Extract_btn_Click(object sender, EventArgs e) { m_objReader.PropsSet("experimental.mfcodecs", "true"); m_objReader.PropsSet("experimental.out_video_packets", "true"); m_objReader.PropsSet("external_process", "false"); m_objWriter.PropsSet("external_process", "false"); m_objWriter.WriterSet(@"M:\!Delete\mp3.mp3", 1, " format='mp3' video::codec='null' audio::codec = 'audio_packets'"); start = true; }
private void ListBox5_SelectedIndexChanged(object sender, EventArgs e) { ListBox comboBox = (ListBox)sender; string selected = (string)comboBox.SelectedItem; m_objLive5.DeviceSet(eMFDeviceType.eMFDT_Video, comboBox.Items.IndexOf(selected), ""); m_objLive5.FormatAudioSet(eMFormatType.eMFT_Input, ref auProps); m_objWriter5.WriterSet(SavePath_txb.Text + "\\5.mp4", 1, currentEncodingConf); Encoder5 = true; button5.BackColor = Color.Green; }
private void Form1_Load(object sender, EventArgs e) { m_objPrev = new MFPreviewClass(); m_objRed = new MFReaderClass(); m_objRed.PropsSet("external_process", "false"); m_objWriter = new MFWriterClass(); m_objWriter.PropsSet("external_process", "false"); m_objWriter.WriterSet("", 0, ""); m_objRed.ReaderOpen(openFilePath_txb.Text, ""); m_objWriter.WriterSet(savePath_txb.Text, 0, @"format='mp4' video::codec='n264' video::size='720x1080' audio::codec='aac'"); m_objPrev.PreviewWindowSet("", prevPanel.Handle.ToInt32()); m_objPrev.PreviewEnable("", 1, 1); cancelSource = new CancellationTokenSource(); m_threadWorker = new Thread(() => thread_DoWork(cancelSource.Token)); m_threadWorker.Name = "thread_DoWork"; //m_threadWorker.Start(); }
private void ListBox1_SelectedIndexChanged(object sender, EventArgs e) { string name; ListBox comboBox = (ListBox)sender; string selected = (string)comboBox.SelectedItem; m_objLive1.DeviceSet(eMFDeviceType.eMFDT_Video, comboBox.Items.IndexOf(selected), ""); UpdateAuidoList(); m_objLive1.FormatAudioGetByIndex(eMFormatType.eMFT_Input, AudioProps.SelectedIndex, out auProps, out name); m_objLive1.FormatAudioSet(eMFormatType.eMFT_Input, ref auProps); m_objWriter1.WriterSet(SavePath_txb.Text + "\\1.mp4", 1, currentEncodingConf); Encoder1 = true; button1.BackColor = Color.Green; }
void OpenFile() { openFileDialog1 = new OpenFileDialog(); if (openFileDialog1.ShowDialog() == DialogResult.OK && openFileDialog1.FileName != string.Empty) { path = openFileDialog1.FileName; } m_objReader.ReaderOpen(path, ""); string url = "udp://127.0.0.1:5000?pkt_size=1316"; m_objWriter.WriterSet(url_txb.Text, 0, config_txb.Text); encode = true; }
private void Form1_Load(object sender, EventArgs e) { m_objPreview = new MFPreviewClass(); m_objReader = new MFReaderClass(); m_objWriter = new MFWriterClass(); m_objWriter.WriterSet(textBox1.Text, 0, ""); m_objPreview.PreviewWindowSet("", panelPrev.Handle.ToInt32()); m_objPreview.PreviewEnable("", 1, 1); cancelSource = new CancellationTokenSource(); m_threadWorker = new Thread(() => thread_DoWork(cancelSource.Token)); m_threadWorker.Name = "thread_DoWork"; m_threadWorker.Start(); }
private void openAndPublish_btn_Click(object sender, EventArgs e) { OpenFileDialog a = new OpenFileDialog(); if (a.ShowDialog() == DialogResult.OK) { m_objReaderFile = new MFReaderClass(); m_objReaderFile.ReaderOpen(a.FileName, ""); m_objReaderFile.SourceAVPropsGet(out props); starFile = true; } if (starFile) { m_objWriter.WriterSet(URL_txb.Text, -1, writerConfig_txb.Text); } }
private void Button1_Click(object sender, EventArgs e) { reader.PropsSet("experimental.mfcodecs", "true"); reader.PropsSet("experimental.out_video_packets", "true"); reader.PropsSet("external_process", "false"); reader.ReaderOpen(@"M:\TEST_VIDEOS\Moneyball.2011.720p.BluRay.x264-HiDt.mkv", ""); writer.PropsSet("external_process", "false"); writer.WriterSet(@"M:\TempVideo\mariovideo.mp4", 0, "format='mp4' video::codec='packets' audio::codec='audio_packets'"); //writer.PropsSet("rate_control", "true"); //writer.PropsSet("pull_mode", "false"); var w = new Stopwatch(); w.Start(); DateTime start = DateTime.Now; while (count <= 2000) { count++; if (count >= 1000) { MFFrame frame; reader.SourceFrameGet(-1, out frame, ""); writer.ReceiverFramePut(frame, -1, ""); prev.ReceiverFramePut(frame, -1, ""); Marshal.ReleaseComObject(frame); BeginInvoke(new InvokeDelegate(UpdateLabel)); } } DateTime end = DateTime.Now; w.Stop(); writer.WriterClose(0); reader.ReaderClose(); int dif = (end.Millisecond + end.Second * 1000 + end.Minute * 60 * 1000) - (start.Millisecond + start.Second * 1000 + start.Minute * 60 * 1000); button1.Text = "END. Dif ==" + dif.ToString(); }
void WriterSet() { m_objWr1.WriterClose(-1); Marshal.ReleaseComObject(m_objWr1); m_objWr1 = new MFWriterClass(); string savePath = savePath_txb.Text + number.ToString() + ".mp4"; m_objWr1.WriterSet(savePath, 0, encodingCon_txb.Text); string a = Environment.CurrentDirectory + "\\output\\mformats_test.flv"; string b = @"format='flv' " + "video::codec='q264hw' video::b='3.7M' video::size='1280x720' video::g='30' " + "audio::codec='aac' audio::b='64K' audio::ar='44100'"; BeginInvoke(new InvokeDelegate(UpdateList)); number++; }
private void buttonStartRec_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); try { string strFormat; IMFProps props; m_objWriter.WriterOptionGet(eMFWriterOption.eMFWO_Format, out strFormat, out props); if (audio_channels.Checked) { m_objLive.PropsSet("audio_channels", "0+2+4+6,1+3+5+7,0,1,2,3,4,5,6,7"); } string sProtocol; props.PropsGet("protocol", out sProtocol); if (sProtocol == null) { sProtocol = ""; } string bNetwork = ""; props.PropsGet("network", out bNetwork); if ((bNetwork == "true" || sProtocol.Contains("udp") || sProtocol.Contains("rtmp") || sProtocol.Contains("rtsp")) && textBoxURL.Text.Length > 0) { try { m_objWriter.WriterSet(textBoxURL.Text, 0, textBoxConfig.Text); rec = true; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } else if (strFormat == "Auto Select") { sfd.Filter = "MPEG files (*.mp4)|*.mp4|All Files (*.*)|*.*"; if (sfd.ShowDialog() == DialogResult.OK) { m_objWriter.WriterSet(sfd.FileName, 0, " format='mp4' video::codec='mpeg4' video::b='5M' audio::codec='aac'"); rec = true; } } else { //Choose file extension string strExtensions; props.PropsGet("extensions", out strExtensions); Marshal.ReleaseComObject(props); string[] arrExt = strExtensions.Split(','); string strFilterExt = ""; // (*.yyy;*.xxx) for (int i = 0; i < arrExt.Length; i++) { if (strFilterExt.Length > 0) { strFilterExt += ";*." + arrExt[i]; } else { strFilterExt = "*." + arrExt[i]; } } sfd.Filter = strFormat + " Files (" + strFilterExt + ")|" + strFilterExt + "|All Files (*.*)|*.*"; if (sfd.ShowDialog() == DialogResult.OK) { m_objWriter.WriterSet(sfd.FileName, 0, textBoxConfig.Text); rec = true; } } } catch (Exception) { } }