在 Windows 上,我有一个简单的批处理文件,我将视频文件拖放到其中以转换为 webms,它可以节省大量时间,因为我更喜欢使用相同的配置并且不太关心名称。
@echo off
echo.
ffmpeg -i %1 -c:v libvpx-vp9 -quality good -cpu-used 2 -b:v 5000k -qmin 15 -qmax 45 -maxrate 500k -bufsize 1500k -framerate 60 -threads 8 -vf scale=-1:1080 -c:a libvorbis -b:a 192k -f webm %1.webm
pause
我知道 .bat 文件在 Linux 中不会真正工作(我在 pop os 上非常多 Ubuntu)所以删除了其他行和 %1
改为$1
有用。如果我尝试将视频文件拖放到它上面,它不会做任何事情。我可以键入 sudo,然后将 .sh 文件和视频拖放到终端中,然后按 Enter,这与将视频文件拖放到 Windows 中的 bat 文件具有相同的效果。
有没有办法重新创建将文件直接拖放到另一个文件上并在 Linux 中执行,或者终端是唯一的方法?
最佳答案
所以......对我来说这样的工作:
创建一个桌面文件,例如shell.desktop
.这需要看起来像这样:
[Desktop Entry]
Name=simple
Exec=/bin/bash -c "echo %F; sleep 10" # obviously this is where your ffmpeg incantation goes
Terminal=true
Type=Application
Icon=gvim
Categories=Utility;
StartupNotify=false
现在这是一个放置目标 - 瞧。我的只是回显了删除文件的路径。
关于linux - FFMPEG 拖放 sh 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67308652/