ios - 通过GStreamer将文件保存到iOS目录中

标签 ios swift gstreamer

我正在使用GStreamer接收音频流,然后尝试将其编码为wav文件并将其保存到iOS应用程序中的临时目录中。有人知道这是否可能吗?

我正在使用以下命令生成文件位置:

let exportPath: String = NSTemporaryDirectory().appendingFormat("ios_audio_sample.wav")
let audioExportUrl = URL.init(fileURLWithPath: exportPath)


然后,audioExportUrl等于:
“文件:///private/var/mobile/Containers/Data/Application/53E543F3-2B49-4ACE-BCB4-5D95DDC28589/tmp/ios_audio_sample.wav”

然后,我将filesink的location属性设置为audioExportUrl。但是,当我尝试设置播放管道时,它将失败。我尝试将audioExportUrl处理为其他内容(例如变成字符串,删除“ file://”前缀等),但没有任何效果。

有没有办法使用filesink将文件保存到iOS中的目录中?还是我应该使用另一种方式(不同的接收器插件)?

最佳答案

这是我在Obj-C中保存视频的方式(在Swift中应该类似):

NSURL *url = [NSFileManager.defaultManager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0];
NSURL *fileURL = [url URLByAppendingPathComponent:@"name.mp4"];
NSString *cmd = @"<YOUR PIPELINE> ! filesink location=";
NSString *usable = [[cmd stringByAppendingString:fileURL.relativePath] UTF8String]


我忘记了为什么,但是Swift [4]在Gstreamer上不能很好地工作,这就是为什么我不得不使用Objective-C和一些桥接的原因。

关于ios - 通过GStreamer将文件保存到iOS目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57188326/

相关文章:

gstreamer - 当我使用 gstreamer 通过 UDP 进行流式传输时,缩放屏幕截图失败

c - 了解 GStreamer 管道

ios - TableCell中的PFQuery导致图像跳转

ios - 使用曲线 Core Graphics 的路径动画

ios - UIPageViewController 委托(delegate)不触发横向

swift - 如何在应用了渐变的 UIView 中添加圆角?

ios - 如何从 Realm 的结果实例中检索数据?

ios - iOS 应用程序图标本地化不起作用

ios - 如何在请勿打扰模式下播放 UILocalNotification 声音?

linux gst_element_factory_make ("rtspsrc",NULL)在 qt5 上失败