簡體   English   中英

如何使用Media Foundation將RTP H.264有效負載轉換為可播放文件

[英]How to convert RTP H.264 payload into playable file using Media Foundation

我需要一種方法,能夠從H.264 RTPFrames(負載類型96),我收到使用管理綜合媒體制作視頻文件- https://net7mma.codeplex.com/

我正在嘗試在托管代碼中使用媒體基礎。

我看到了http://mfnet.sourceforge.net/,但找不到如何做。 我看到有人在某個論壇上說最好在C#托管代碼中使用Media Foundation dll。

有人對此有任何經驗嗎?

編輯:

我試圖使用VLCDotNet將h264幀放入視頻文件-這是我的代碼

private void StoreFile()
{

    Vlc.DotNet.Core.VlcContext.LibVlcDllsPath = @"C:\Users\Ofek\Desktop\VideoLAN\VLC";
    Vlc.DotNet.Core.VlcContext.Initialize();

    media1 = new Vlc.DotNet.Core.Medias.LocationMedia("rtsp://192.168.30.11/1.mkv");         

    media1.AddOption(":sout=#transcode{vcodec=theo,vb=800,
    scale=1,acodec=flac,ab=128,channels=2,samplerate=44100}:std{access=file,mux=ogg,
    dst=D:\\123.mp4}");

    VlcControl control = new VlcControl();
    control.Media = media1;
    control.Play();
}

問題在於該文件已創建,但無法播放。 我正在尋找用於將H264流保存到mp4文件而不對其進行解碼的命令。 有任何想法嗎?

嘗試在后台播放流。

Process vlc;
vlc = Process.Start("C://Program Files//Videolan//VLC//VLC.exe", "rtsp://192.168.30.11/1.mkv\" --qt-start-minimized --sout=#transcode{vcodec=theo,vb=800,acodec=flac,ab=128,channels=2,samplerate=44100}:file{dst=C://folder//filename.mp4,no-overwrite}");
Thread.Sleep(9000);
vlc.kill();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM