• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

여기서 잠깐 파이썬으로 youtube 동영상 다운 및 mp3 변환 질문입니다.

20.07.13 00:27 작성 조회수 303

0

import pytube
import os
import subprocess
# 파이썬을 실행하면서 별도의 프로세스를 실행할 수 있음.

yt = pytube.YouTube('https://youtu.be/uR8Mrt1IpXg') # 다운 받을 동영상의 URL 지정
videos = yt.streams.all()

# print('videos', videos)

for i in range(len(videos)):
print(i, ' , ', videos[i])

cNum =
int(input("다운로드 받을 화질은? (0~21 입력)"))

down_dir =
'C:\\Pythonsource\\Workspace\\Crawling\\section2\\Youtube'

videos[cNum].download(down_dir)

newFileName =
input("변환 할 mp3 파일명은?")
oriFileName = videos[cNum].default_filename

subprocess.call([
'ffmpeg','-i',
os.path.join(down_dir,oriFileName),
os.path.join(down_dir,newFileName)
])

print("동영상 다운로드 및 mp3 변환 완료!")


이렇게 코드를 작성했는데

변환 할 mp3 파일명은?mp3.mp3 ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3.1 (GCC) 20200621 configuration: --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-libopenmpt --enable-amf libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 Input #0, matroska,webm, from 'C:\Pythonsource\Workspace\Crawling\section2\Youtube\YouTube.webm': Metadata: encoder : google/video-file Duration: 00:03:35.51, start: 0.000000, bitrate: 1742 kb/s Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default) Output #0, mp3, to 'C:\Pythonsource\Workspace\Crawling\section2\Youtube\mp3.mp3': Output file #0 does not contain any stream 동영상 다운로드 및 mp3 변환 완료! Process finished with exit code 0


라고 뜨면서 변환이 되지 않습니다.

mp3.mp3라고 한 이유는
강의처럼 mp3로 했을때 되지 않아 구글링한 결과입니다.
windows 64 사용 중이고 모든 경로 및 환경설정, 파일이동은 강의에서 진행된 순서로 똑같이 진행하였습니다.

그냥 넘기라는 답변 보다는 해결책을 듣고싶습니다 ㅜ






그리고 덧붙여서 영상을 다운로드 받았어도 소리가 나지 않는 경우가 있습니다.
제가 보았을때 vcodec이 영상 재생 여부, acodec이 소리 유무를 결정하는 것 같은데,
(틀렸다면 피드백 부탁드립니다 ㅜ)

0번 이외에는 모두 acodec이 없는 경우가 있습니다. 이런 현상은 왜 생기는건가요?

답변 1

답변을 작성해보세요.

0

안녕하세요.

코덱 관련 변환에 대해서는 제가 분야가 아니라 정확한 답변이 힘들 것 같습니다.

보통 저는 최신버전을 사용해보고 버전을 내려가면서 영상이나, 사운드 재생이 정확하게 되는지 체크하는 방법을 사용하고 

있습니다. 맥에서는 변환 되는 파일이 윈도우에서 안되는 경우 기타 여러 상황이 있으므로, 정해진 정답은 없는 것 같습니다.

감사합니다.