博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视频上传、转码、切面、存储的思路
阅读量:6198 次
发布时间:2019-06-21

本文共 579 字,大约阅读时间需要 1 分钟。

hot3.png

在工作中常常会接触到图片与视频的处理,下面简单介绍下我接触过的视频断点续传与视频转码相关思路。java语言编写,文件存储我们用的GFS,视频转码用的ffmpeg,发消息用的ActiveMQ,数据库用的mysql,另外还用到了redis保存片信息。

GFS,ffmpeg,activeMQ,mysql,redis我这里只是简单介绍下思路

  1. 为了实现断点续传(传到一半,下次接着传)呢,采用的是分块上传的方法。当有一个上传请求的时候,flash首先计算视频的md5码,并传给服务器端,server端验证flash身份。如果身份通过,通过该md5去数据库中查找,是否存在改MD5的数据,也就是这个视频是否上传过。
  2.  

    如果没有上传过,从第一块开始上传,如果上传过,看是否已经上传完,如果上传完返回视频封面图,地址,视频时长等。如果没有从redis中根据md5获取已经上传的块编号,总块数给flash端。

  3.  

    flash发送下一块的数据流,总块数,已经上传的块编号给服务器端

  4.  

    服务器端接收数据流,合并到之前的块文件中,更新redis中已经上传的块编号。

  5.  

    如果上传完所有块文件,将文件复制到真正的存储地址,删除临时块文件信息,更新数据库信息,推送索引,向消息队列发送转码请求等。

转载于:https://my.oschina.net/lambert519/blog/879301

你可能感兴趣的文章
阿里云中间件推出全新开发者服务
查看>>
Oracle官方文档中文版-SQLPlus快速参考
查看>>
(转)shell 脚本date时间格式
查看>>
19. 中介者模式
查看>>
系统提权方法大汇总
查看>>
Linux中更改转移mysql数据库目录的步骤
查看>>
我的友情链接
查看>>
MySQL一次死锁的问题
查看>>
DEPENDS工具和DUMPBIN工具使用
查看>>
端口占用,nginx不能启动
查看>>
python监控服务器信息
查看>>
网络分析工具
查看>>
Use zabbix to Monitor your servers
查看>>
证券行业日志审计需求分析,产品选型和实施建议
查看>>
pip 本地源
查看>>
PHP微信开发入门(二)
查看>>
Go语言的array,slice及map
查看>>
我的友情链接
查看>>
国内领先移动广告聚合平台--KeyMob聚合
查看>>
php 常用类总汇
查看>>