我写这个是为了帮助我批量编码一些视频:
find -name '*.mkv' -exec HandBrakeCLI -Z "Android Tablet" \
-c "1-3" -m -O --x264-tune film -E copy --decomb -s 1 -i {} \
-o `echo {} | tr mkv m4v` \;
Run Code Online (Sandbox Code Playgroud)
然而,它失败了——它需要每个 700-900MB 的文件并用 36KB 的文件替换它。
值得注意的是,HandBrake 能够读取和打印视频文件的属性;只有当它继续对其进行编码时,它才会因为文件无效而失败。所以看起来覆盖发生在它到达......
-o `echo {} | tr mkv m4v`
Run Code Online (Sandbox Code Playgroud)
...但我不确定为什么应该这样做。我只是想将输出文件名从whatever.mkv 更改为whatever.m4v
文件名没有空格。例如,它们的形式12-the-revenge.mkv为 。