我使用vlc插件来播放用于直播的rtmp链接。它工作正常,如果发生在目标标签中的流媒体链接像下面的代码:用于字符串返回的HTTP Hanlder asp.net
<embed
type='application/x-vlc-plugin'
pluginspage='http://www.videolan.org'
version='VideoLAN.VLCPlugin.2'
width='800'
height='600'
id='vlc'
loop='yes'
autoplay='yes'
target="rtmp://122.221.75.124:1935/live/myc001">
</embed>
问题: 所以我的要求是通过显示HTML源代码隐藏从观众RTMP链接。我使用Http Handler从数据库返回链接。 的VLC插件目标标记是:
target="Handler1.ashx?ChannelID=22">
而且我Hanlder1.ashx代码:
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.Request.QueryString["ChannelID"] == null) return;
string connStr = Connection_Class.Str_Conn;
string channelID = context.Request.QueryString["ChannelID"];
if (channelID == "") { return; }
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand("SELECT Link FROm TblChannel WHERE ChannelID = @id", conn))
{
cmd.Parameters.Add(new SqlParameter("@id", channelID));
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
reader.Read();
if (reader.HasRows == true)
{
string lnk = "";
lnk = reader["Link"].ToString();
context.Response.Clear();
context.Response.Write(lnk);
reader.Close();
context.Response.End();
}
else
{ return; }
}
}
}
的Hanlder1返回正确的链接,当我在浏览器中键入:
http://localhost:54091/handler1.ashx?channelid=22
我在vlc中使用了相同的方法Target tage :(目标=“http:// localhost:54091/handler1.ashx?channelid = 22”)但链接不起作用。我使用断点来验证处理程序的工作原理,并返回字符串,但vlc不播放流。
它不适合我@Ondrej Svejdar。请帮助,我非常担心和疲惫,但我需要解决它。谢谢。 – ZahidKakar
我跟着你输入的内容,但仍然不走运。等待你的回复。 – ZahidKakar
再次感谢@Ondrej,我只有rtmp链接,不能控制rtmp服务器。 – ZahidKakar