Windows Media Encoder SDK – Establish / Stop Encoder Streaming
Form1.cs |
Import Namespace Reference
– Interop.WMEncoderLib
using System;
using System.Linq;
using System.Windows.Forms;
using WMEncoderLib;
using System.Diagnostics;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
WMEncoderApp EncoderApp;
IWMEncoder Encoder;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
EstablishEncode("C:\\1.wmv", 6161,
"Windows Media Video 8 for Broadband (PAL, 700 Kbps)");
}
private void button2_Click(object sender, EventArgs e)
{
StopEncode();
}
private void EstablishEncode(string sourcefile, Int32 portnumber, String EncoderName)
{
EncoderApp = new WMEncoderApp();
EncoderApp.Visible = true;
Encoder = EncoderApp.Encoder;
IWMEncSourceGroupCollection SrcGrpColl =
Encoder.SourceGroupCollection;
IWMEncSourceGroup SrcGrp =
SrcGrpColl.Add("Group1");
IWMEncSource SrcAud =
SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_AUDIO);
IWMEncVideoSource2 SrcVid =
(IWMEncVideoSource2)SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO);
SrcAud.SetInput(sourcefile, "", "");
SrcVid.SetInput(sourcefile, "", "");
IWMEncProfile Pro;
IWMEncProfileCollection ProColl = Encoder.ProfileCollection;
for (int i = 0; i < ProColl.Count; i++)
{
Pro = ProColl.Item(i);
if (Pro.Name == EncoderName)
{
SrcGrp.set_Profile(Pro);
break;
}
}
IWMEncBroadcast BrdCst = Encoder.Broadcast;
BrdCst.set_PortNumber(WMENC_BROADCAST_PROTOCOL.WMENC_PROTOCOL_HTTP, portnumber);
Encoder.PrepareToEncode(true);
Encoder.Start();
}
private void StopEncode()
{
Encoder.Stop();
KillProcess();
}
private void KillProcess()
{
Process[] pro = Process.GetProcessesByName("wmenc");
for (int i = 0; i < pro.Count(); i++) pro[i].Kill();
}
private void button3_Click(object sender, EventArgs e)
{
StopEncode();
EstablishEncode("C:\\1.wmv", 6161,
"Windows Media Video 8 for Broadband (PAL, 700 Kbps)");
}
}
}
|
Codec 選擇 |
0 Windows Media Video 8 for Color Pocket PCs (225 kbs)
1 Windows Media Video 8 for Color Pocket PCs (150 kbs)
2 Windows Media Video 8 for Dial-up Modems or Single-chennel ISDN (28.8 to 56 Kbps)
3 Windows Media Video 8 for LAN, Cable Modem, or xDSL (100 to 768 Kbps)
4 Windows Media Video 8 for Dial-up Modems or Single-chennel ISDN (28.8 to 100 Kbps)
5 Windows Media Video 8 for Dial-up Modems (28.8 Kbps)
6 Windows Media Video 8 for Dial-up Modems (56 Kbps)
7 Windows Media Video 8 for Local Area Network (100 Kbps)
8 Windows Media Video 8 for Local Area Network (256 Kbps)
9 Windows Media Video 8 for Local Area Network (384 Kbps)
10 Windows Media Video 8 for Local Area Network (768 Kbps)
11 Windows Media Video 8 for Broadband (NTSC, 700 Kbps)
12 Windows Media Video 8 for Broadband (NTSC, 1400 Kbps)
13 Windows Media Video 8 for Broadband (PAL, 384 Kbps)
14 Windows Media Video 8 for Broadband (PAL, 700 Kbps)
|