youtube-dl과 호환되는 최고의 오디오와 함께 최고의 비디오를 다운로드하는 방법은 무엇입니까?


21

-f bestvideo+best audio whose extension is compatible with the video extensionmkv ( WARNING: Requested formats are incompatible for merge and will be merged into mkv.)에 먹일 필요가 없도록 형식 선택기를 사용하고 싶습니다 .

참고 : 나는 그것을 알고 -f best싶지 않습니다. 오디오 및 비디오의 최상의 품질을 유지하면서도 호환 가능한지 확인하고 싶습니다. 그렇게하는 방법?


1
아마도이 질문과 답변이 도움이 될 것입니다 : askubuntu.com/q/806258/57576
andrew.46

@ andrew.46 도와 주셔서 감사하지만 링크는별로 도움이되지 않았습니다. 특정 확장 세트를 타겟팅 할 때의 시나리오를 설명합니다. 필자의 경우 확장 기능을 유연하게 사용할 수 있습니다. 확장 기능 만 호환되기를 바랍니다. 예를 들어, webm비디오 및 opus오디오 파일은 결과적으로 .webm완벽합니다.
평화로운 코더

답변:


34

다음을 사용하여 최상의 비디오 및 오디오를 다운로드 할 수 있습니다.

youtube-dl -f bestvideo+bestaudio "link to youtube video"

오류가 발생하면 다음을 대신 시도하십시오.

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "link to youtube video"

여기서 최상의 비디오 및 오디오를 별도로 다운로드 한 다음 mp4 파일로 병합합니다. 병합 된 비디오의 출력 형식도 변경할 수 있습니다.

행운을 빕니다!


감사! 그러나 나는 이미 알고 있습니다. 내 의견 에서 설명했듯이 선택 형식을 특정 형식으로 제한하고 싶지 않습니다. 따라서 확장 프로그램 인 -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio'경우를 사용 하면 최상의 비디오를 다운로드하지 못할 수 있습니다 webm. 어쨌든, 도와 주려고 +1.
평화로운 코더

! 이 옵션을 사용하려면 ffmpeg를 설치해야합니다
babygame0ver

6

오래된 질문이지만 Google에 대한 첫 번째 답변 :

다음 함수를 정의하면 나를 위해 일했습니다 (또한 배치 할 수도 있음 ~/.bashrc).

youtube-dl_video_and_audio_best_no_mkv_merge () {
  video_type=$(youtube-dl -F "$@" | grep "video only" | awk '{print $2}' | tail -n 1)
  case $video_type in
    mp4)
      youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' "$@";;
    webm)
      youtube-dl -f 'bestvideo[ext=webm]+bestaudio[ext=webm]' "$@";;
    *)
      echo "new best videoformat detected, please check it out! -> aborted";;
  esac
}

지금 당신은 함께 다운로드 할 수 있습니다

youtube-dl_video_and_audio_best_no_mkv_merge "https://www.youtube.com/watch?v=*******" "https://https://www.youtube.com/watch?v=********"

출처 : 자신의 창조


2
함수 이름은 기술적으로 유효하지 않으며, 특히 대시와 더하기 부호입니다. 따라서 함수를 사용하는 데, 특히 내보내는 데 문제가있을 수 있습니다. 이것을 스크립트로 만들고 (함수가 필요하지 않기 때문에) 이름을 다음과 같이 변경하는 것이 youtube-dl_video_and_audio_best_no_mkv_merge좋습니다.
wjandrea

@wjandrea : 쉘 함수 이름의 대시는 유효합니다 (일반적으로 명령과 동일). 내 보낸 함수에 대해서는 모르겠습니다.
David Foerster

@DavidFoerster 예, Bash는 유효하지 않은 함수 이름을 허용하지만 내보낼 수 없습니다. 시도하면 오류가 발생합니다.not a valid identifier
wjandrea
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.