我正在使用 ffmpeg 编写一个简单的脚本,以减小视频的大小并为视频添加水印,然后将最终输出移动到压缩文件夹中......这是我的脚本。
压缩有效,水印有效,但我遇到的问题是最终输出放置在根文件夹中,而不是压缩文件夹中......下面是我的文件夹结构和我的脚本
文件夹结构
rootfolder
|
|--media
|--vids
|--(video files, mov, mp4s)..
|--compressed
|--encode.py
脚本 (encode.py) 文件
import os
import subprocess
from pathlib import Path
dir_path = os.path.dirname(os.path.realpath(__file__))
vidfile = dir_path + '/media/vids/mv1.mov'
watermark = dir_path + '/media/watermark.png'
compressed = str(Path.cwd() / '/media/compressed/')
# 1. compress the video and store it in the media out folder
media_out = str(dir_path + "/compressed_mv1s.mov").replace(" ", "\\ ")
subprocess.run("ffmpeg -i " + vidfile.replace(" ", "\\ ") +
" -vcodec libx264 -crf 22 " + media_out, shell=True)
#2.add watermark to the video and move it to the compressed folder
media_watermarked = str(compressed + '/w_mv1.mov').replace(" ", "\\ ")
subprocess.run("ffmpeg -i " + media_out + " -i " + watermark +
" -filter_complex \"overlay=main_w-(overlay_w+10) : main_h-(10+overlay_h)\" " + media_watermarked, shell=True)
总之,压缩视频作品,添加水印作品,但最后一行,错误来自media_watermarked
变量,我不确定我做错了什么,但它没有正确解析文件夹,将最终输出移动到文件夹..这是我得到的错误
另外,我如何同时运行两个 ffmpeg 命令来压缩视频并一次添加水印而不单独执行。谢谢。