Django项目练习(七)——自制视频上传&转码&存入七牛云

自制视频功能开发需求

1、视频文件上传:从前端把视频文件上传到后台服务器;
2、视频文件转码:后台服务器把视频文件转码。ffmpeg的使用(容器的更换)
3、七牛云存储的使用 以及七牛云sdk的使用:视频处理完后,存到七牛云,用七牛云的SDK进行开发,把视频上传上去。
4、异步队列服务器celery的使用 + redis

ffmpeg知识

ffmpeg是一个对音视频进行处理的命令行工具,由C开发。ffmpeg -i input.file -c copy output.file input.file就是原文件的地址,output.file就是输出地址。

一、把视频传到后台

我们现在要把外链视频和自定义视频都放在一个页面里,所以需要对之前的ExternalVideo修改一下,增加自定义视频:

class ExternalVideo(View):
    TEMPLATE = 'dashboard/video/external_video.html'
    print('hehehehe')

    @dashboard_auth
    def get(self, request):

        error = request.GET.get('error', '')
        data = {
   'error': error}

        cus_videos = Video.objects.filter(from_to=FromType.custom.value)

        # 自制的视频不要,除此以外的视频都要
        ex_videos = Video.objects.exclude(from_to=FromType.custom.value)
        data['ex_videos'] = ex_videos
        data['cus_videos'] = cus_videos

        return render_to_response(request, self.TEMPLATE, data=data)

然后html中也增加自定义视频,把之前外链视频的table拿过来修改一下就可以了。

然后针对自定义视频的附属信息部分,我们需要修改一下:如果是自定义视频,我们就把地址链接的输入框,改成本地文件上传。

找到我们的video_sub HTML文件
对地址编辑区域进行修改:

<p>地址与选集编辑区域</p>
    % if video.from_to != 'custom':
    <label>添加地址</label><input id="url" type="text" name="url" class="form-control"/><br>
    % else:
    <label>上传视频</label><input id="url" type="file" name="url" class="form-control"/><br>
    % endif

在这里插入图片描述
如果是上传自定义文件的话,我们还需要对form添加一个enctype属性,加上之后就可以上传到后端了。
整体是这个样子:

% if FromType(video.from_to) == FromType.custom:
<form enctype="multipart/form-data" class="form-horizontal edit-area add-video-area add-url" method="post">
% else:
<form class="form-horizontal edit-area add-video-area add-url" method="post">
    <p>地址与选集编辑区域</p>
    % if FromType(video.from_to) != FromType.custom:
    <label>添加地址</label
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值