我想解碼internet-audiostream,但我不想將數據寫入磁盤,因此數據僅位於內存中。FFmpeg avformat_open_input帶內存定位文件
但是,當我想要將數據解碼爲原始數據時,我必須初始化格式上下文,因此我需要使用avformat_open_input。但是這些功能需要文件的詳細位置。
有沒有人有一個解決方案,我如何可以將我的內存定位數據放入格式上下文中以將此數據解碼爲原始數據?
我想解碼internet-audiostream,但我不想將數據寫入磁盤,因此數據僅位於內存中。FFmpeg avformat_open_input帶內存定位文件
但是,當我想要將數據解碼爲原始數據時,我必須初始化格式上下文,因此我需要使用avformat_open_input。但是這些功能需要文件的詳細位置。
有沒有人有一個解決方案,我如何可以將我的內存定位數據放入格式上下文中以將此數據解碼爲原始數據?
您不需要文件,只需使用您的internet-audiostream網址即可打開。像這樣:
AVFormatContext *ic = avformat_alloc_context();
err = avformat_open_input(&ic, "rtmp://www.something.com/a.mp4", NULL, NULL);
您必須創建自定義AVIOContext
。
有關詳細信息,請參閱我的回答Play a Video from MemoryStream, Using FFMpeg