如何无损切割 Twitter 视频并上传

为什么需要切割视频

Twitter 免费账号上传的视频时长限制为 140 秒。如果你的视频时长超过了这个限制,就需要将视频分割成符合要求的长度,才能顺利上传到 Twitter。

准备工作

在开始之前,确保以下工具已安装:

Python
用于运行自动分割脚本。可以参考 Python 安装教程 进行安装。

FFmpeg
FFmpeg 是一个功能强大的开源视频处理工具。你可以参考 FFmpeg 最新版安装教程 来完成安装。

创建脚本文件

安装好 FFmpeg 和 Python 在存有视频的文件夹下创建一个 txt 文本,然后将下面的代码复制进去。然后将文本的后缀修改成 py

import os
import subprocess

def split_video(input_video, output_dir, segment_duration=139):
    """
    Splits a video into segments of a specified duration without re-encoding.

    Args:
        input_video (str): Path to the input video file.
        output_dir (str): Directory to save the output segments.
        segment_duration (int): Duration of each segment in seconds.
    """
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    # Generate the output file name pattern
    output_pattern = os.path.join(output_dir, "%03d.mp4")

    # ffmpeg command for splitting video
    command = [
        "ffmpeg",
        "-i", input_video,
        "-c", "copy",
        "-f", "segment",
        "-segment_time", str(segment_duration),
        "-reset_timestamps", "1",
        output_pattern
    ]

    # Run the ffmpeg command
    try:
        subprocess.run(command, check=True)
        print(f"Successfully split: {input_video}")
    except subprocess.CalledProcessError as e:
        print(f"Error splitting video {input_video}: {e}")

def process_folder(root_folder, segment_duration=139):
    """
    Processes a root folder, splitting all videos in subfolders.

    Args:
        root_folder (str): Path to the root folder containing video files.
        segment_duration (int): Duration of each segment in seconds.
    """
    for subdir, _, files in os.walk(root_folder):
        for file in files:
            if file.lower().endswith((".mp4", ".mkv", ".avi", ".mov")):
                input_video = os.path.join(subdir, file)
                output_dir = os.path.join(subdir, f"{os.path.splitext(file)[0]}_segments")
                split_video(input_video, output_dir, segment_duration)

if __name__ == "__main__":
    root_folder = input("Enter the path to the root folder: ").strip()
    segment_duration = 139
    process_folder(root_folder, segment_duration)

运行脚本

双击运行脚本文件。在弹出的窗口中,将存有视频的文件夹路径拖入窗口,按下回车键,即可开始分割。

脚本功能简介

  • 支持的格式:MP4、MKV、AVI、MOV。
  • 分割方式:将视频分割为 139 秒的小片段,确保每段视频符合 Twitter 的时长限制。
  • 无损分割:脚本使用 -c copy 参数,无需重新编码,保证视频质量不受损失。
常见问题
123盘资源下载
本站提供 123云盘 资源链接
可无登入直接下载
安全声明
如文章内提供下载内容
此内容可能为执行脚本,软件,图像或Ai模型
所有内容均经过病毒查杀,可放心下载
免责声明
因模型可能包含 NSFW 内容,请不要将模型用于非法用途
本站点只提供模型下载,不参与制作者图片生成
因制作者生成图片造成的违法问题与本站无关
0

评论0

没有账号?注册  忘记密码?