コード例 #1
0
ファイル: RtmpDownload.cs プロジェクト: langhuihui/csharprtmp
 public void Restart()
 {
     MainWindow.ClientApp.PullExternalStream(Variant.GetMap(new VariantMapHelper()
         {
             {"uri", Url}, {"tcUrl",TcUrl}, {"localStreamName",StreamName}
         }));
     OutFileStream = Application.StreamsManager.CreateOutFileStream(this, StreamName, FilePath, false);
     StartTime = DateTime.Now;
     Status = "正在下载";
 }
コード例 #2
0
 public void Restart()
 {
     MainWindow.ClientApp.PullExternalStream(Variant.GetMap(new VariantMapHelper()
     {
         { "uri", Url }, { "tcUrl", TcUrl }, { "localStreamName", StreamName }
     }));
     OutFileStream = Application.StreamsManager.CreateOutFileStream(this, StreamName, FilePath, false);
     StartTime     = DateTime.Now;
     Status        = "正在下载";
 }
コード例 #3
0
ファイル: RtmpDownload.cs プロジェクト: langhuihui/csharprtmp
        public void Start(string url,string filePath)
        {
            Url = url;
            FilePath = filePath;
            var uri = new Uri(url);
            var segs = uri.Segments.ToList();
            segs.RemoveAt(0);
            StreamName = segs.Last();
            segs.Remove(StreamName);
            AppName = string.Join("", segs);
            TcUrl = url.Remove(url.IndexOf(StreamName));
            StreamName = StreamName.TrimStart('/');
            MainWindow.ClientApp.PullExternalStream(Variant.GetMap(new VariantMapHelper()
                {
                    {"uri", url}, {"tcUrl",TcUrl}, {"localStreamName",StreamName}
                }));
            Application = MainWindow.ClientApp;
            OutFileStream = Application.StreamsManager.CreateOutFileStream(this, StreamName, filePath,false);
            StartTime = DateTime.Now;
            Status = "正在下载";

        }
コード例 #4
0
        public void Start(string url, string filePath)
        {
            Url      = url;
            FilePath = filePath;
            var uri  = new Uri(url);
            var segs = uri.Segments.ToList();

            segs.RemoveAt(0);
            StreamName = segs.Last();
            segs.Remove(StreamName);
            AppName    = string.Join("", segs);
            TcUrl      = url.Remove(url.IndexOf(StreamName));
            StreamName = StreamName.TrimStart('/');
            MainWindow.ClientApp.PullExternalStream(Variant.GetMap(new VariantMapHelper()
            {
                { "uri", url }, { "tcUrl", TcUrl }, { "localStreamName", StreamName }
            }));
            Application   = MainWindow.ClientApp;
            OutFileStream = Application.StreamsManager.CreateOutFileStream(this, StreamName, filePath, false);
            StartTime     = DateTime.Now;
            Status        = "正在下载";
        }
コード例 #5
0
        public IOutFileStream CreateOutFileStream(BaseProtocol protocol, string name, string filePath, bool append)
        {
            var    meta     = GetMetaData(name, false, protocol.Application.Configuration);
            string fileName = meta[Defines.META_SERVER_MEDIA_DIR];

            fileName += meta[Defines.META_SERVER_FILE_NAME];
            this.Log().Info("fileName: {0}", fileName);
            IOutFileStream pOutFileStream = null;

            switch ((string)meta[Defines.META_MEDIA_TYPE])
            {
            case Defines.MEDIA_TYPE_FLV:
            case Defines.MEDIA_TYPE_LIVE_OR_FLV:
                if (append)
                {
                    //删除原来的辅助文件
                    var seekPath     = meta[Defines.META_SERVER_FULL_PATH] + "." + Defines.MEDIA_TYPE_SEEK;
                    var metaDataPath = meta[Defines.META_SERVER_FULL_PATH] + "." + Defines.MEDIA_TYPE_META;
                    File.Delete(seekPath);
                    File.Delete(metaDataPath);
                }
                pOutFileStream = new OutFileRTMPFLVStream(protocol, Application.StreamsManager, filePath ?? fileName, name)
                {
                    Appending = append
                };
                break;

            case Defines.MEDIA_TYPE_MP4:
                Logger.FATAL("Streaming to MP4 file not supported");
                break;

            default:
                Logger.FATAL("Media type not supported");
                break;
            }

            return(pOutFileStream);
        }