Black Synology는 클릭 한 번으로 비디오 섬네일을 생성합니다.

질문

VideoStation을 사용할 때 업로드가 영화 및 TV 드라마 등이 아닌 경우 포스터의 썸네일을 자동으로 찾을 수 있는 방법이 없으므로 여기에서 자습서를 만들었습니다. 각각 FFmpeg , Python 사용

해결책

1. Synology 시스템에 들어갑니다
[노란색 형광펜은 클릭해야 하는 위치를 표시합니다]
여기에 이미지 설명 삽입


여기에 이미지 설명 삽입
2. 위치와 동일한 이름으로 타사 패키지의 소스 이름 추가
여기에 이미지 설명 삽입
위치 URL:
[DSM6.x 버전]

https://spk.imnks.com/

[DSM7.x 버전]

https://spk7.imnks.com/

3. 소프트웨어 패키지를 설치하려면
패키지 센터 왼쪽의 커뮤니티를 ffmpeg를
검색하여 설치합니다. 4. Synology SSH 기능을 활성화합니다. 작업 단계는 다음 그림을 참조하십시오. 5. SSH를 사용합니다 . Synology연결하기 위한 도구 계정 그룹 관리 계정의 비밀번호를 입력 하고 성공적으로 로그인 6. Python 파일을 추가 하고 모두 복사
여기에 이미지 설명 삽입


여기에 이미지 설명 삽입


여기에 이미지 설명 삽입

여기에 이미지 설명 삽입

여기에 이미지 설명 삽입

여기에 이미지 설명 삽입

여기에 이미지 설명 삽입

#!/usr/bin/python
# -*- coding:UTF-8 -*-
import os
import sys


def check_type(filename,video_list):
    """
    检查是否为视频文件
    """
    array = map(filename.endswith,video_list)
    if True in array:
        return True
    else:
        return False


def get_capture_delay_time(file_path):
    """
    获取截取图片在视频中位置
    """
    if not os.path.exists(file_path):
        return False
    file_size = os.path.getsize(file_path)
    if file_size <= 1 * 1024 * 1024:                                # 视频大小 <= 1MB,截取视频第1S图片
        delay_time = 1
    elif file_size <= 4 * 1024 * 1024:                              # 1MB < 视频大小 <= 4MB,截取视频第5S图片
        delay_time = 5
    elif file_size <= 50 * 1024 * 1024:                             # 4MB < 视频大小 <= 50MB,截取视频第10S图片
        delay_time = 10
    else:
        delay_time = 20                                             # 50MB < 视频大小,截取视频第20S图片
    return delay_time


def check_file_existed(file_path):
    """
    检查文件是否存在
    """
    if os.path.exists(file_path):
        return True
    else:
        return False


def get_file_pre(file_name):
    """
    获取文件名前缀,如my_video.mp4,返回my_video
    """
    video_name_list = os.path.splitext(file_name)
    if len(video_name_list) == 2:
        video_name_pre = video_name_list[0]
    else:
        video_name_pre = False
    return video_name_pre


def make_thumb(file_path,video_types):
    """
    遍历文件夹,调用ffmpeg截取视频图片
    """
    for dir_path,dir_names,file_names in os.walk(file_path):
        for name in file_names:
            # print("*"*20)
            # print(name)
            if not check_type(name,video_types):                    # 不是视频文件,跳过本地迭代,继续下一次迭代
                print("not video,continue next")
                continue
            video_full_path = os.path.join(dir_path, name)
            video_name_pre = get_file_pre(name)
            if video_name_pre:                                      # 如果缩略图已经存在,跳过本地迭代,继续下一次迭代
                pic_name = '%s%s' % (video_name_pre,'.jpg')
                picture_full_path = os.path.join(dir_path,pic_name)
                ret = check_file_existed(picture_full_path)
                if ret:
                    print("%s existed,continue next" % picture_full_path)
                    continue
                delay_time = get_capture_delay_time(video_full_path)
                if not delay_time:                                  # 获取文件大小失败,跳过本地迭代,继续下一次迭代
                    continue
                shell = 'ffmpeg -i "%s" -y -ss %s -frames:v 1 "%s"' % \
                        (video_full_path, delay_time,picture_full_path)
                # print("#"*20)
                print(shell)
                os.system(shell)
                print("%s capture success" % picture_full_path)


if __name__ == "__main__":
    # 当前路径中执行脚本
    file_path = sys.path[0]
    video_types = ['.mp4','.avi','.wmv','.mkv','.flv']
    make_thumb(file_path,video_types)

입력 sudo -i후 관리자 비밀번호를 입력 후 입력하시면 자신의 영상 저장 위치 찾기
방법 : 볼륨으로 시작하는 폴더는 모두 하드디스크, ls /volume 을 몇번 입력하시면 영상이 저장되어 있는 위치를 ls /확인 하실 수 있습니다. 위치 및 입력

여기에 이미지 설명 삽입
cd 目录

vi 1.py를 입력하고
여기에 이미지 설명 삽입
Enter 키를 누른 다음 i 키를 누르고 방금 복사한 많은 코드를 터미널에 마우스 오른쪽 버튼으로 클릭하여 복사하고 ESC 키 를 누른 다음 wq를
여기에 이미지 설명 삽입
입력 하고 Enter 키를 누릅니다. 다운로드할 영어 SSH 소프트웨어 다운로드 위치 라는 점에 유의하십시오. [SSH 후반부, 이해가 안가는 분들도 있겠지만, 일반적인 의미는 이 Python 파일을 썸네일을 생성하려는 비디오 디렉토리에 넣는 것입니다. 사용된 vi는 만약 인터넷에서 vi 에 대한 자습서를 찾을 수 있습니다. ] 진행하려면 실행하여 섬네일 생성
여기에 이미지 설명 삽입


python2 1.py

추천

출처blog.csdn.net/qq_36678880/article/details/124934495