4

C# でデスクトップ ライブ ストリーミング アプリを作成しようとしています。プログラムは Windows で実行し、ユーザーのデスクトップから rtmp に画像をストリーミングする必要があります。フレームレート、ビデオ サイズ、品質、およびコーデック (h263 および h264) のオプションも必要です。これにはFFmpegが最適だと思います(そうでない場合は、コメントを書いてください)。上記のすべてを、コンソールを使用して ffmpeg.exe で行うことができました。知りたいのですが、FFmpeg ライブラリを C# プロジェクト (.lib または .dll として) に含めて、.exe の代わりに使用し、タスクに適した機能を保存できますか? どんな例でもとても感謝しています。

PS 以下は、私が使用するコマンドの例です。

ffmpeg -f dshow -i video=UScreenCapture -vcodec h264 -pix_fmt yuv420p -s 320x240 -f flv rtmp://[my adr]/desc

ffmpeg -f dshow -i video=UScreenCapture -vcodec h264 -r 15 -t 0:1:00 -q 12 -pix_fmt yuv420p -s 320x240 -f flv rtmp://[my adr]/desc
4

2 に答える 2

10

これは私のサンプルです。

次のように .exe ファイルを使用できます。

ffmpeg.StartInfo.UseShellExecute = false;
ffmpeg.StartInfo.RedirectStandardOutput = true;
ffmpeg.StartInfo.FileName = Server.MapPath("~/Video_Clips/ffmpeg.exe");

ffmpeg.StartInfo.Arguments = String.Format(@"-i ""{0}"" -threads 8 -f webm -aspect 16:9 -vcodec libvpx -deinterlace -g 120 -level 216 -profile 0 -qmax 42 -qmin 10 -rc_buf_aggressivity 0.95 -vb 2M -acodec libvorbis -aq 90 -ac 2 ""{1}""",
                                           Server.MapPath("~/Video_Clips/" + sNameWithoutExtension + ".wmv"),
                                           Server.MapPath("~/Video_Clips/" + sNameWithoutExtension + ".webm"));
ffmpeg.Start();

ffmpeg.WaitForExit();
于 2013-04-02T07:09:23.267 に答える