[Python] Tweepy로 트위터에 동영상 올리기
- 자아실현/파이썬
- 2023. 9. 11.
안녕하세요? 블로그 글을 올릴 시간이 없네요.
아래는 트위터 API와 Tweepy를 이용해서 트위터에 동영상을 올리는 코드입니다.
API 키 등은 직접 수정하시면 됩니다.
트위터를 트위터라 불러야 할지 X라 불러야 할지 고민이 되네요.
import tweepy
api_key = "API Key"
api_secrets = "API Secret"
access_token = "Access Token"
access_secret = "Acess Secret"
auth = tweepy.OAuth1UserHandler(
consumer_key=api_key,
consumer_secret=api_secrets,
access_token=access_token,
access_token_secret=access_secret)
api = tweepy.API(auth)
client = tweepy.Client(
consumer_key=api_key,
consumer_secret=api_secrets,
access_token=access_token,
access_token_secret=access_secret)
media_ids = []
media = api.media_upload('비디오 파일 경로',chunked=True,media_category="tweet_video")
media_ids.append(media.media_id)
client.create_tweet(text='게시물 내용(텍스트)', media_ids=media_ids)
만약 400 에러가 뜬다면 동영상 파일을 확인해보세요 (H.264 코덱만 지원하는 것으로 보입니다.)
글자 수 제한은 140자 인 것 같네요.
만약 동영상 없이 텍스트만 올리시려면 아래 코드를 이용하시면 되겠습니다.
client.create_tweet(text="할말")
참고
위에서 언급했듯 동영상 형식이 안 맞아서 오류가 나는 경우가 많습니다. 저 같은 경우에는 ffmpeg로 코덱을 바꾸어서 업로드를 하고 있어요. 아래 참조하세요.
저는 ffmpeg를 파이썬에서 사용하려고 아래와 같이 커맨드를 불러와서 사용했습니다. file_path는 인풋 파일, output은 아웃풋 파일입니다.
os.system(f"ffmpeg -i {file_path} -c:v libx264 -preset slow -crf 20 -vf format=yuv420p -movflags +faststart {output}")