媒資管理之視頻管理

一:業務概述:

媒資管理這個模塊是我負責開發的,主要的管理對象是視頻,圖片,文檔等

包括文件的上傳,視頻的處理,文件的刪除

(在媒資管理界面,有個上傳視頻的按鈕,視頻是在媒資這上傳的,課程圖片是在內容管理)

上傳的圖片和視頻,會單獨存儲到搭建的分布式文件系統當中。

當上傳視頻時,視頻比較大,如果我選擇的是斷點續傳來進行上傳,并且上傳的視頻不是都能直接播放的,要進行格式的轉換,所以選擇一個視頻文件上傳之后,會自動進行一個格式處理,最后還會進行視頻與課程的綁定,這些做好之后,才可以發布一個課程。

二:工作內容

在這個系統中,我一共設計了三張表:分別是媒資文件表,待處理文件表,歷史處理文件表。

媒資文件表保存了上傳文件的詳細信息,比如文件名稱,文件類型(圖片,文檔,視頻),存儲目錄,文件存儲路徑,文件訪問url(針對于圖片來說,存儲路徑和url一致,但是視頻的存儲路徑是avi,而訪問url是MP4格式),文件id(md5),等

待處理文件表保存了文件名稱,狀態,訪問地址,失敗信息等

歷史處理文件表保存了文件名稱,狀態等

在這里面,我主要給您講一下視頻的上傳與處理您看可以嗎?

當視頻上傳之后,會將視頻保存到minio這個系統當中

(因為minio系統比較輕量,操作簡單,免費,而且可以保證數據安全,不會丟失)

(保證不丟失,是因為它保存的數據,是分塊存儲的,不會全部保存到一個硬盤上,并且還有備份)

在使用它之前,在程序中添加它的一個依賴,它提供了示例方法,用來進行上傳,刪除和下載,在程序當中去使用它提供的方法,在方法中依靠它的核心邏輯,進行改造,實現我們想要的功能。

上傳是需要先初始化出一個minio對象,在客戶端創建出一個bucket,相當于一個文件夾,用來保存上傳過來的數據,然后針對于這些大文件的上傳,就要進行斷點續傳了,在文件上傳前要對文件進行檢查,分塊文件上

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/81521.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/81521.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/81521.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Maven 實現多模塊項目依賴管理

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

nuxt項目中引入并配置 iview

安裝iview npm install iview --save注:想要加入其它的配置,可以在 nuxt.config.js 的 plugins 配置項中加入,同時在 plugins 文件夾下加入引入邏輯。 在nuxt.config.js文件中寫: {src: ~plugins/iview, ssr: true}同時新建 plugi…

BG開發者日志505:項目總體情況

1、從2024年12月中旬啟動,到4月底gameplay部分開發完畢,已經四個半月過去了。 其中大部分內容是3、4兩個月中完成的,量產階段。 預計6月初參加新品節,6月中旬發售(比原計劃7月中旬提前一個月)。 --------…

C++ *stream | istream / ostream / iostream 詳解

注:本文為 “C *stream” 相關文章合輯。 英文引文,機翻未校。 中文引文,略作重排,未整理去重。 如有內容異常,請看原文。 Understanding the Utility of Iostreams in C 理解 C 中 iostream 的用途 By Manoj Debnat…

Dagster中的Ops與Assets:數據管道構建的兩種選擇

Dagster是一個強大的數據編排平臺,它提供了多種工具來幫助數據工程師構建可靠的數據管道。在Dagster中,Ops和Assets是兩種核心概念,用于定義數據處理邏輯。本文將全面介紹Ops的概念、特性及其使用方法,特別補充了Op上下文和Op工廠…

參數包展開到初始化列表

上次寫過參數包展開和靜態斷言的使用——Accumulator-CSDN博客&#xff0c;數組是靜態定義的&#xff0c;并且遞歸展開參數包。這里改用動態數組&#xff0c;并且將參數包展開到初始化列表中&#xff0c;成為一個動態數組。 #include <stdio.h> #include <vector>…

React18組件通信與插槽

1、為DOM組件設置Props 在react中jsx中的標簽屬性被稱為Props DOM組件的類屬性&#xff0c;為了防止與js中的class屬性沖突改成了className DOM組件的style屬性 import image from "./logo.svg"; function App() {const imgStyleObj {width: 200,height: 200,};re…

GTS-400 系列運動控制器板(十四)----軟限位使用

運動控制器函數庫的使用 運動控制器驅動程序、dll 文件、例程、Demo 等相關文件請通過固高科技官網下載,網 址為:www.googoltech.com.cn/pro_view-3.html 1 Windows 系統下動態鏈接庫的使用 在 Windows 系統下使用運動控制器,首先要安裝驅動程序。在安裝前需要提前下載運動…

C++ 開發指針問題:E0158 表達式必須為左值或函數指示符

問題與處理策略 問題描述 int* ptr &10;執行上述代碼&#xff0c;報如下錯誤 E0158 表達式必須為左值或函數指示符 C2101 常量上的“&”問題原因 10 是一個字面常量&#xff0c;常量是臨時值&#xff0c;編譯器不會為它們分配可尋址的內存空間 & 取地址運算符…

前端面經-VUE3篇(二)--vue3組件知識(二)依賴注入、異步組件、生命周期、組合式函數、插件

目錄 一、依賴注入 1、 依賴注入是什么&#xff1f; 2、最基礎的使用 3、為什么使用依賴注入&#xff1f; 4、 使用 Symbol 作注入名 二、異步組件 1、什么是異步組件&#xff1f; 2、最基礎用法&#xff1a;defineAsyncComponent 3、在模板中使用異步組件 4、配置加載狀態…

頭歌數據庫課程實驗(索引與數據庫完整性)

第1關&#xff1a;創建一般索引 任務描述 本關任務&#xff1a;為 student 表按姓名升序建立索引&#xff0c;索引名為 idx_sname。 相關知識 為了完成本關任務&#xff0c;你需要掌握&#xff1a; 索引是什么&#xff1b; 索引的分類&#xff1b; 索引的創建和刪除&#…

Socket 編程 UDP

Socket 編程 UDP UDP 網絡編程V1 版本 - echo serverV2 版本 - DictServerV3 版本 - 簡單聊天室 補充參考內容地址轉換函數關于 inet_ntoa UDP 網絡編程 聲明&#xff1a;下面代碼的驗證都是用Windows作為客戶端的&#xff0c;如果你有兩臺云服務器可以直接粘貼我在Linux下的客…

c++ 二級指針 vs 指針引用

二級指針 vs 指針引用&#xff1a;深入對比與分析 在C中&#xff0c;二級指針和指針引用都可以用于修改外部指針&#xff0c;但它們在語法、安全性和使用場景上有重要區別。下面我將從多個維度進行詳細對比。 1. 基本概念 1.1 二級指針 (Pointer to Pointer) int a 10; in…

【Hive入門】Hive與Spark SQL深度集成:通過Spark ThriftServer高效查詢Hive表

目錄 引言 1 Spark ThriftServer架構解析 1.1 核心組件與工作原理 1.2 與傳統HiveServer2的對比 2 Spark ThriftServer部署指南 2.1 環境準備與啟動流程 2.1.1 前置條件檢查 2.1.2 服務啟動流程 2.2 高可用部署方案 2.2.1 基于ZooKeeper的HA架構 3 性能優化實戰 3.…

[面試]SoC驗證工程師面試常見問題(二)

SoC驗證工程師面試常見問題(二) 摘要:面試SoC驗證工程師時,SystemVerilog (SV) 和 UVM (Universal Verification Methodology) 是核心技能,而AXI總線是現代SoC中最常見的接口協議之一,因此也是必考點。以下是可能被問到的問題及優質答案的詳細列表: 一、 System…

vue3 css模擬語音通話不同語音、正在加載等的效果

實現效果如下&#xff1a; 在不同的時間&#xff0c;顯示不一樣的效果&#xff08;大小是一樣的&#xff0c;截圖時尺寸發生了變化&#xff09; 具體實現代碼如下&#xff1a; <script setup> import {ref} from "vue";const max_hight ref(40px) const min…

KeyPresser 一款自動化按鍵工具

1. 簡介 KeyPresser 是一款自動化按鍵工具,它可以與窗口交互,并支持后臺運行, 無需保持被控窗口在前臺運行。用戶可以選擇要操作的目標窗口,并通過勾選復選框來控制要發送哪些按鍵消息。可以從組合框中選擇所需的按鍵,并在編輯框中輸入時間間隔以控制按鍵發送之間的延遲。程…

ai之paddleOCR 識別PDF python312和paddle版本沖突 GLIBCXX_3.4.30

這里寫自定義目錄標題 問題一**解決方案****方法 1&#xff1a;使用符號鏈接將系統庫鏈接到 Conda 環境** **補充說明****驗證修復結果** 問題二&#xff1a;**問題根源****解決方案****1. 確認 TensorRT 安裝狀態****2. 安裝 TensorRT 并配置環境變量****3. 驗證 TensorRT 與 …

【RabbitMQ】 RabbitMQ快速上手

文章目錄 一、RabbitMQ 核心概念1.1 Producer和Consumer2.2 Connection和Channel2.3 Virtual host2.4 Queue2.5 Exchange2.6 RabbitMQ工作流程 二、AMQP協議三 、web界面操作4.1 用戶相關操作4.2 虛擬主機相關操作 四、RabbitMQ快速入門4.1 引入依賴4.2 編寫生產者代碼4.2.1 創…

Beatoven AI 自動生成音樂

Beatoven AI 自動生成音樂 文章目錄 Beatoven AI 自動生成音樂一、源代碼二、準備工作1. 安裝 Python 環境2. 安裝依賴庫 三、配置 API 密鑰四、運行腳本示例一&#xff1a;使用默認參數示例二&#xff1a;生成一段電影預告片風格音樂&#xff08;30秒&#xff09; 五、生成結果…