Shell-Script
我可以在 MPV 中播放前後行車記錄儀影片的播放列表嗎?
我正在嘗試同時播放來自行車記錄儀的前後鏡頭作為
mpv
.前後影片文件位於
F
和R
目錄中。F
我可以輕鬆地將 eg目錄中的所有文件添加到播放列表中:mpv F/*
我還可以為一對前後鏡頭執行畫中畫疊加:
mpv $front_video --external-file=$rear_video --lavfi-complex='[vid2] scale=640x360 [small]; [vid1] [small] overlay [vo]'
我無法將兩者結合起來,即我想要一個畫中畫疊加的播放列表。問題是我總是從第一個影片中看到後視圖:
mpv \ REC_200607-175943F.MOV --external-file=../R/REC_200607-175943R.MOV --lavfi-complex='[vid2] scale=640x360 [small]; [vid1] [small] overlay [vo]' \ GSR_200607-180444F.MOV --external-file=../R/GSR_200607-180444R.MOV --lavfi-complex='[vid2] scale=640x360 [small]; [vid1] [small] overlay [vo]' \ GSR_200607-180943F.MOV --external-file=../R/GSR_200607-180943R.MOV --lavfi-complex='[vid2] scale=640x360 [small]; [vid1] [small] overlay [vo]'
現在,我正在使用一個腳本,該腳本
mpv
在第一個影片退出後立即為下一對影片執行,這樣我就可以從頭到尾觀看所有影片,但我錯過了諸如跳轉到上一個/下一個影片、檢查在哪裡的功能我是播放列表,設置播放速度、音量、對比度等。此外,在播放中間停止很麻煩,因為退出一個mpv
實例會執行下一個實例:#!/bin/sh for front in $(ls -tr); do rear=../R/${front/F./R.} mpv $front --external-file=$rear --lavfi-complex='[vid2] scale=640x360 [small]; [vid1] [small] overlay [vo]' done
有什麼建議麼?
MPV 文件的一部分既與過濾器也與播放列表無關,但描述了允許確切所需內容的使用
--{
和分組選項。--}
在下面的播放列表中執行覆蓋的工作腳本。將其保存在一個文件中,使其可執行(
chmod u+x file_name
),如果您的行車記錄儀與我的命名約定相同,請在F
目錄中執行它:#!/bin/sh videos='' for front in $(ls -tr); do rear=../R/${front/F./R.} videos+=" --{ $front --external-file=$rear --lavfi-complex=[vid2]scale=640x360[small];[vid1][small]overlay[vo] --}" done exec mpv $videos "$@"
查看行車記錄儀如何儲存文件,如果不是全部,它應該涵蓋大部分文件。請注意,疊加過濾器很慢,因此您可能想嘗試使用
hstack
orvstack
代替(但是兩個影片需要具有相同的像素高度,這通常意味著您需要放大後視圖以匹配前視圖,例如[vid2]scale=1920x1080[big];[big][vid1]hstack[vo]
)。