이름이 오른쪽 클릭/컨텍스트 메뉴 항목인 항목을 만들고 싶습니다."MP4로 변환"모든 비디오 파일(또는 모든 비디오 파일이 불가능한 경우 최소한 MKV)에서 사용할 수 있습니다. 여기서는 설정된 위치에서 FFmpeg를 실행합니다(예: "C:\Users\Username\Documents\Programs\Portable\FFmpeg 20190916) \bin") 그렇게 하면 MP4 버전이 생성됩니다.(무손실 인코딩 / 컨테이너만 변경)입력 비디오 파일의 출력 파일(MP4)은 입력 파일과 동일한 폴더에 나타나야 합니다. 이상적으로는 한 번에 두 개 이상의 파일을 선택(Ctrl+클릭)하여 그렇게 하고 싶습니다.(그러나 반드시 그런 것은 아니다모든폴더에 있는 비디오 파일).
나는 이것이 bat 파일을 생성한 다음 어떻게든 컨텍스트 메뉴에 통합함으로써 가능하다는 것을 이해합니다(아마도 "보내기" 메뉴 바로가기를 사용하여?). 하지만 저는 CMD를 잘 모르고 어떻게 해야 FFmpeg가 특정 파일을 포착하고 입력과 동일한 폴더에 출력 파일을 가져오는 방법을 잘 모르겠습니다.
우선, 나는 다음을 기반으로 bat 파일을 적용하려고 시도했습니다.이것대답하다중복으로 연결한 질문작동하는 bat 파일을 생각해낼 수 있는지("컨텍스트 메뉴/레지스트리" 부분을 수행하기 전에), 제가 말했듯이 cmd를 올바르게 사용하는 방법을 정말로 모르겠습니다. 작동하지 않았습니다. 제 질문은 귀하가 제안한 질문과 중복되지 않는다고 생각합니다. 제 질문은 오디오보다는 비디오를 다루기 때문입니다. 오디오 코덱을 사용하여 조정) 그리고 가장 중요한 것은 변환이 아니라 컨테이너를 변경하는 것이므로 다른 명령이 필요하다는 것입니다. 그래서 그 답변과 정보를 바탕으로FFmpeg를 사용하여 미디어 파일을 변환하는 방법에 대한 빠른 가이드 Opensource.com에서 다음과 같은 명령을 사용하여 bat 파일을 만들었습니다.
ffmpeg -i %1 copy "%~n1.mp4
ffmpeg -i "%1" "%1.mp4
ffmpeg -i "%1.mkv" "%1.mp4
ffmpeg -i input.mkv -c:av copy output.mp4
(FFmpeg의 전체 경로 이름을 사용했지만 읽기 쉽도록 여기서는 생략했습니다.) 그런 다음 MKV 파일을 여기에 놓으려고 했지만 아무 것도 작동하지 않았습니다. 여기에서 cmd 및 FFmpeg와 관련된 몇 가지 질문을 이미 확인했지만 도움이 되지 않았으므로 도움을 주시면 감사하겠습니다!
답변1
절차:
명령을 사용하여 .MKV 확장자의 관련 파일 형식을 가져옵니다
assoc .mkv
. 예를 들어 기본 출력은 입니다.mkv=WMP11.AssocFile.MKV
.레지스트리 편집기(regedit라고도 함)에서 관련 파일 형식을 엽니다. 예를 들어 기본 레지스트리는
HKEY_CLASSES_ROOT\WMP11.AssocFile.MKV
.레지스트리에 명령을 추가하려면 먼저 ffmpeg 명령을 수정하여 형식을 수정하세요. mkv를 mp4로 변환하는 간단한 명령은
ffmpeg -i abc.mkv -c copy abc.mp4
. 파일 이름을 자리 표시자 변수로 바꿔야 합니다%1
. 따라서 명령은 가 됩니다ffmpeg -i %1 -c copy %1.mp4
.관리자 권한으로 다음 명령을 실행하여 레지스트리를 추가합니다.
REG ADD "HKCR\WMP11.AssocFile.MKV\Shell\Convert to MP4\command" /VE /T REG_EXPAND_SZ /D "ffmpeg.exe -i \"%1\" -c copy \"%1.mp4\""
이 명령은 레지스트리 키 ffmpeg -i %1 -c copy %1.mp4
의 명령을 값에 추가합니다. 쉘이 파일 이름을 추론할 수 있으려면 유형이 필요합니다 . 백슬래시와 큰따옴표는 MKV 파일의 전체 경로에서 공백을 처리하기 위한 것입니다.HKCR\WMP11.AssocFile.MKV\Shell\Convert to MP4\command
default
REG_EXPAND_SZ
%1
- 명령은 다양한 방법으로 변경되거나 구성될 수 있습니다. 기본 파일 연결을
WMP11.AssocFile.MKV
현재 설정으로 변경했는지 확인하세요. 또한ffmpeg.exe
실행 파일 의 전체 경로를 입력하십시오 . 명령 프롬프트 창의 팝업을 억제하려면cmd /Q /C
ffmpeg 명령을 추가하세요. 보다이 답변그 트릭을 위해.
답변2
샘플 github 저장소가 있습니다.https://github.com/kachurovskiy/VideoContextMenu
참고: 저는 작성자가 아닙니다. 위의 댓글이 너무 많아서 답변으로 추가했습니다.
다음을 수행합니다.
all.reg - 탐색기 메뉴 옵션을 설정하는 데 사용합니다.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Video: to h264\command]
@="C:\\VideoContextMenu\\convert.bat \"%1\""
C:\VideoContextMenu
Convert.bat - (또는 다른 위치) 에 있는 기본 명령입니다 .
set i=%~n1
set x=%~x1
set o=%i%.mp4
if exist %o% (
set o=%i%-h264.mp4
)
ffmpeg -i "%i%%x%" -vcodec libx264 -preset slow -acodec aac "%o%"
exit
또한 특정 파일 형식으로 제한하려면 허용되는 답변을 따르십시오.
즉 HKCR\WMP11.AssocFile.MKV\Shell\Convert to MP4
, .mkv의 경우