본문 바로가기

분류 전체보기

(91)
ffmpeg 으로 .m3u8에서 .mp4로 만들기 HLS로 서비스되는 .m3u8 형식의 URL을 받아서 로컬에 영상 파일을 떨구기 스트리밍용 .m3u8 URL을 이용해서 영상 파일을 만들고 싶을 때. ffmpeg은 별도로 설치하지 않고 docker 이미지를 이용했다. docker run --rm -v $PWD:/tmp/workdir jrottenberg/ffmpeg -y -i "http://video.testdomain.com/test.mp4/playlist.m3u8" -bsf:a aac_adtstoasc -vcodec copy -c copy test.mp4 [Docker parameters] --rm 실행 후 docker container 삭제 -v container의 /tmp/workdir을 $PWD로 연결 [ffmpeg parameters] -y ..
Azure Functions: local.settings.json은 어디에 있는가! 잠깐 짬이 생겨서 PC에서 하던 작업을 노트북에서 하려고 pull 했더니 로컬 디버깅이 되지 않는다! 처음 보는 에러 메시지가 나오는데 심지어 에러 메시지에 스펠도 틀렸네 -_-; 에러 메시지처럼 language 설정 문제인 줄 알고 한참 찾아봤는데, 알고 보니 local.settings.json 파일이 없어서 발생하는 문제였다. Azure Functions Extension 이 만들어주는 Functions 샘플을 보면 .gitignore 에 local.settings.json 이 기본으로 포함되어 있다. 로컬 개발용으로 사용되는 secret key 같은 것들을 repository에 올리지 않는 것이 합리적이기는 한데, 팀원간에 공유 작업을 하거나 여러 환경에서 작업할 때는 불편한 것도 사실이라... 일..
Python으로 Azure에 Serverless 웹 구축하기 - 3. Flask 앞에서 Visual Studio Code 가 만들어주는 샘플 코드를 Azure에 올려서 Functions App 을 만드는 것까지는 해봤으니 이제 Flask 어플리케이션을 올려보도록 하자! Request URL : host.json 과 function.json 그 전에 몇 가지 설정파일에 대해 좀 더 알아볼 필요가 있다. 앞에서 VSC가 만들어준 function 샘플의 URL은 http://localhost:7071/api/flask-sample 이었다. 어떻게 이 URL이 만들어졌는지 좀 살펴보자면, 일단 host.json 파일을 봐야 한다. host.json 파일에 대한 자세한 설명은 https://docs.microsoft.com/en-us/azure/azure-functions/functions-..
Python으로 Azure에 Serverless 웹 구축하기 - 2. 프로젝트 생성 Python 환경을 갖췄으면 이제 프로젝트를 생성해본다. 프로젝트 디렉토리를 만들고 Visual Studio Code 를 실행한다. VisualStudioCode uaremine$ mkdir pfaf-sample VisualStudioCode uaremine$ cd pfaf-sample VisualStudioCode uaremine$ pyenv local functions-flask (이전 포스트 참조) (functions-flask) pfaf-sample uaremine$ (functions-flask) pfaf-sample uaremine$ code . (참고로 'code' 로 VSC 실행되게 하는 것은 https://code.visualstudio.com/docs/setup/mac 참조) 혹시 아직..
Python으로 Azure에 Serverless 웹 구축하기 - 1. 설치 이 포스트는 python - flask - azure - visual studio code 의 조합으로 serverless 웹 사이트를 만드는 가이드 비슷한 것이다. 이 조합은 안 될 것 같지는 않은데 뭔가 확실한 가이드도 없고 해서 며칠 삽질해본 김에 정리해둔다. 사실 위의 조합에서 azure 만 aws 로 바꾸면 zappa 라는 훌륭한(가이드 문서도 많은) 솔루션을 사용하면 되고, python 을 javascript로만 바꿔도 azure 공식 문서에서 잘 다뤄주고 있다. 그러나 만들어놓은 코드를 어떻게든 써 보고 싶은 마음에 꾸역꾸역 시도를 해 봤더니... 다시 만드는게 더 빨랐겠다는 생각도... 하여간, 일단 필요한 것들 설치부터 하면서 시작해보자. Python 2.7만 기본으로 깔려 있는 High..
Visual Studio Code로 Azure Functions 에 Python앱 만들기 PyCharm - Python - Zappa - Flask - Lambda 를 편하게 썼었는데, 어쩌다가 Azure 로 좀 갈아타볼까 하고Visual Studio Code - Python - Azure Functions 를 시도해보는 중.첫번째 관문은 Python 3 설치부터.Visual Studio Code 는 2019년 1월 현재 Python 3.6 만 지원한다. 3.7이나 3.5를 설치하면 실패함.그리고 Azure Function Core Tools 를 설치하려면 .Net 을 설치해야 함. ㅠㅠ 맥에 닷넷SDK라니마음 먹었으니 일단 해보자. .Net SDK 설치하고 Visual Studio Code 에서 Azure Function Core Tools 설치하거나 업데이트 하면 계속 Permission..
Google Analytics Custom Dimension 추가 Google Anlytics 에서 Custom Dimension을 추가하는 법.Custom Dimension을 쓰고 싶었던 것은 운영하고 있는 웹사이트가 PC, 모바일웹, 모바일앱(하이브리드) 등을 통해 접근이 되는데, 웹 대비 자체 앱과 3rd party 앱 (네이버 앱 등)을 통한 접근 비율 및 접근 페이지의 경향이 다르게 나타나는지 알고 싶었기 때문. 일단 사이트에는 analytics.js 가 적용되어 있고 (gs.js -> analytics.js -> gtag.js 순으로 구글에서 권장하는 방식이 바뀌어온 것 같다.) 이번 기회에 gtag.js 로 바꿔보려다가 일이 많아지고 뭔가 잘 안 되어서 그냥 analytics.js 로 진행했음. 일단 Custom Dimension 은 Analytics Ac..
Zappa TimeZone 설정 Zappa - Flask 로 돌리고 있는 Serverless 서비스에 사소한 문제가 생겨서 확인해봤더니 TimeZone Issue. datetime.date.today() 를 사용하고 있었는데, lambda가 UTC 기준으로 돌아가고 있어서 오전 9시 이전에는 어제 날짜로 돌아갔던 문제. lambda 설정에서 환경변수 TZ 를 설정해주면 된다. Zappa 를 사용하고 있다면 update할 때마다 환경변수가 빠질 수 있으니 zappa_settings.json 의 aws_environment_variables 섹션에 넣어주자.