Добавьте счетчик просмотров, если видео воспроизводится более 3 секунд

Я создаю простое видеоприложение.

Что я пытаюсь сделать :-

Я пытаюсь добавить user's view count если видео проигрывается более трех секунд.

Что я сделал :-

  • Я получил video duration в miliseconds используя pymediainfo.

  • Я сделал счетчик просмотров, который работает нормально (В детальном просмотре видео), но я не знаю, как я могу получить продолжительность воспроизведения видео.

models.py

class Video(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE,default='',null=True)
    video = models.FileField(upload_to='videos',null=True)
    viewers = models.ManyToManyField(settings.AUTH_USER_MODEL,related_name='viewed_video',blank=True,editable=True)

views.py

from pymediainfo import MediaInfo

def videoListView(request,pk):
    videos = Video.objects.all()

    for vid in videos:
        media_info = MediaInfo.parse(f.video)
        duration_in_ms = media_info.tracks[0].duration


# For Views Count
    queryset = Video.objects.annotate(
        num_views=Count('viewers')).order_by('-num_views')
    datas = get_object_or_404(queryset, pk=pk)
    if request.user.is_authenticated:
        created = Video.viewers.through.objects.get_or_create(video=datas,
                                                             user=request.user)
        if created:
            datas.num_views += 0

    context = {'vid':vid,'datas':datas,'duration_in_ms':duration_in_ms}
    return render(request, 'videoList.html', context)

Я понятия не имею, как я могу получить продолжительность воспроизведения видео.

После того, как я получу video's played duration, я буду использовать if оператор, который if video_played_duration > 3seconds: then add view count.

Любая помощь будет очень признательна.

Заранее благодарю вас.

Вернуться на верх