我使用red5在我的項目中流式傳輸視頻,我可以播放本地系統中保存在默認文件夾「流」中的視頻, 。red5與s3(我想爲流視頻自定義路徑)
現在我想定製路徑並想從S3獲取視頻。我如何配置red5以使用S3。這是一個很好的做法嗎?
我使用red5在我的項目中流式傳輸視頻,我可以播放本地系統中保存在默認文件夾「流」中的視頻, 。red5與s3(我想爲流視頻自定義路徑)
現在我想定製路徑並想從S3獲取視頻。我如何配置red5以使用S3。這是一個很好的做法嗎?
搜索: https://stackoverflow.com/search?q=IStreamFilenameGenerator
,你會發現一些例子HOWTO修改路徑(S)。
您也可以選擇將某個驅動器掛載到streams文件夾中,或者我猜想符號鏈接甚至可以工作。但是它可能不那麼靈活,就好像你可以用IStreamFilenameGenerator來完成,並且完全按照你想要的生成一些字符串。
塞巴斯蒂安
我有代碼使用IStreamFilenameGenerator與S3一起工作;我現在會提醒你,它可能不適用於最新的jets3庫,但你可以通過查看源代碼來了解它的工作原理。在使用S3時,您必須瞭解的一個問題是您無法「即時」記錄到存儲桶中;一旦文件完成,您的flv文件只能傳輸到S3;在Application.class中有一個示例上傳調用。而S3的「遊戲」將按預期工作。
我加入了S3的代碼到RED5-例子回購:https://github.com/Red5/red5-examples
recordPath如何設置?它不是在你的示例代碼中設置的,也不是接口的一部分。另外,爲什麼這些值是靜態的? Red5會爲每個流啓動一個新的VM嗎? –
Red5使用Spring框架,大多數屬性,類,設置都是使用依賴注入來設置的。 –
我迷惑的來源是圍繞着失蹤的apis。似乎事情已經改變了git回購的頭。 IBroadcastStream不再存在 –
感謝您reply.I有IStreamFilenameGenerator嘗試,但IAM strucked它說,它無法找到下面的系統。該網址是我的代碼片段。 – user1903224
公共類CustomFileGenerator實現IStreamFilenameGenerator私有靜態最終日誌日誌= LogFactory.getLog(DemoServiceImpl.class); \t \t/**獲取流的路徑... */ \t public String playbackPath =「http://myproject.s3.amazonaws.com/」; \t \t/**如果路徑是絕對或相對路徑*/ \t public boolean resolvesAbsolutePath = false; \t \t @Override \t公共字符串generateFilename(的iScope範圍,字符串名稱,GenerationType類型){ \t \t // TODO自動生成方法存根 \t \t返回generateFilename(範圍,名稱,空值,類型); \t} – user1903224
@Override \t公共字符串generateFilename(的iScope範圍,字符串名,字符串擴展,GenerationType類型){ \t \t // TODO自動生成方法存根 \t \t字符串文件名; \t \t filename = playbackPath + name; \t \t log.debug(「######################」+ playbackPath); \t \t log。調試( 「********」 +文件名); \t \t如果(擴展!= NULL) \t \t //添加擴展 \t \t文件名+ =擴展; \t \t return filename; \t} – user1903224