그림과 같이 Thunar 사용자 정의 작업을 만든 적이 있습니다.여기트랜스코딩 없이 선택한 비디오 파일에서 오디오를 추출합니다.
Thunar 사용자 정의 작업 목록에 추가하는 명령은 다음과 같습니다.
xfce4-terminal -e "parallel avconv -i '{}' -map 0:1 -c:a copy '{}.m4a' -- %F"
이제 나는 이것만 얻습니다:
parallel: Warning: Input is read from the terminal. Only experts do this on purpose. Press CTRL-D to exit.
왜 이런 일이 발생하며 Thunar 사용자 정의 작업에서 작동하도록 이러한 명령을 어떻게 조정할 수 있습니까?
답변1
명령을 이해했는지 잘 모르겠습니다. %F 앞에 --를 추가하는 이유는 무엇입니까?
이 시도:
xfce4-terminal -e "parallel avconv -i '{}' -map 0:1 -c:a copy '{}.m4a' ::: %F"
설명: 제가 이해하는 바에 따르면 %F는 Thunar가 :::를 병렬 입력으로 사용하여 파일의 내용으로 대체하는 것입니다.
맨페이지의 예는 정확히 다음과 같습니다.
parallel gzip {} ::: file1 file2
Thunar 사용자 정의 작업에 다음과 유사한 명령을 추가하려면여기
for i in *.mp4; do avconv -i "${i}" -map 0:1 -c:a copy "${i%.mp4}.aac"; done
먼저 다음과 같은 실행 가능한 스크립트에 추가하십시오.
#! /bin/sh -e
for i in *.mp4; do avconv -i "${i}" -map 0:1 -c:a copy "${i%.mp4}.m4a"; done
실행 가능하게 만들고 저장하십시오.
명령 bash /path/to/the/script %F
과 다음 조건을 포함하는 Thunar 사용자 정의 작업에 새 항목을 추가합니다.
이를 위해서는 각 파일 유형에 대해 별도의 사용자 정의가 필요하지만(mp4에서 m4a로 제한되므로 flv에서 m4a로, webm에서 ogg로, avi에서 mp3 등으로 변경) 출력이 정확한 입력 이름을 유지한다는 장점이 있습니다(파일.mp4~이 되다파일.m4a), 첫 번째 명령은 그렇지 않습니다(파일.mp4~이 되다파일.mp4.m4a).
답변2
내가 지금 사용하고 있는 것은 이렇습니다.
bash -c 'ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f
*.flv;*.mp4
외관 조건 설정이 있습니다.