분류 전체보기 176

ffmpeg 소개와 동영상 사이즈 줄이는 법

· FFmpeg란? - 마이클 니더마이어의 주도하에 개발되고 있는 모든 동영상, 음악, 사진 포맷들의 디코딩과 인코딩을 담당하는 소프트웨어 프로젝트이다. 현재 거의 모든 동영상 플레이어들이 FFmpeg기반이며, Nvidia 와 AMD도 FFmpeg를 이용하여 재생을 담당한다고 한다. namu.wiki/w/FFmpeg FFmpeg - 나무위키 여기에 적혀있는 것들은 유명한 것들이고, 이것들 말고도 수많은 미디어 플레이어들이 FFmpeg를 기반으로 한다. 이쪽은 한마디로 정리가 가능하다. 대다수 인코더 프로그램들은 모두 FFmpeg기반이 namu.wiki FFmpeg는 여러가지 활용이 있겠지만, 오늘 정리할 건, 큰 동영상 파일을 작게 만드는 방법이다. ffmpeg -i filename.mp4 -sn -c:..

Utils/Program 2020.12.02

Nvidia Jetson Deepstream python sample app configuration(엔비디아 젯슨 딥스트림 파이썬 샘플 앱 구성)

딥스트림 5.0을 처음 깔게 되면, 뭐부터 시작해야 하나, 라고 생각을 하다, C++로 된 sample app이 있는것을 알게 된다. 하지만 C++로 개발하는건 너무 가혹하기 때문에, 우리는 Python을 활용한다. github.com/NVIDIA-AI-IOT/deepstream_python_apps /opt/nvidia/deepstream/deepsteram/sources 디렉토리에 본 깃헙을 클론하고, readme에 써져 있는 대로 실행하면, C++앱을 실행한 것과 똑같은 내용이 나온다. 여기서 여러가지 테스트 디렉토리들이 있는데, 우리는 주로 deepstream-test3를 활용할 것이다. 왜냐면 deepstream-test3가 rtsp 스트림을 받기 때문이다. deepstrea-test3에서는 d..

Tx2에 vscode 설치법

구글에 install vscode on jetson tx2 라고 검색하면 여러가지 방법이 나온다. 그중에 가장 쉬운 건 www.jetsonhacks.com/2019/10/01/jetson-nano-visual-studio-code-python/ Jetson Nano - Visual Studio Code + Python - JetsonHacks Visual Studio Code is one of the most popular IDEs in the world. You can install VSCode on the Jetson Nano in just a few minutes! www.jetsonhacks.com 이 링크고, 세 줄이면 끝난다. $ git clone https://github.com/Jetson..

Linux 터미널 개발도구 - Tmux

사실 나는 Terminal을 많이는 써 왔지만 Tmux는 아직 익숙하지는 않다. 사실 몰라도 그렇게 개발에 많이 좌우되는 도구는 아니다. 하지만 조금 더 깔끔하게 개발하려면, 그리고 ssh 연결이 끊길 가능성이 있을 때 작업을 할 경우에는 굉장히 유용한 도구라고 할 수 있겠다. 잘 정리되어 있는 페이지 (영어) : www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/ Making tmux Pretty and Usable - A Guide to Customizing your tmux.conf Customize the look and feel of tmux www.hamvocke.com 1. Installation - Ubuntu인 경우 apt-get ..

Linux 2020.11.10

Git의 기본개념 및 활용 정리

우리 회사에서 나와 박대리님이 함께 정리한 문서. 박대리님 정리 정말 잘하신당... 1. Git 사용에 필요한 개념 1) branch 개념 - branch란 같은 소스를 동시에 개발하기 위한 개념입니다. 일반적으로 master branch는 배포 가능한 상태의 소스만을 가지고 있습니다. 기능 별로 branch를 생성하여 작업을 하고 완료되면 작업 내용이 최종적으로는 master branch에 합쳐지고(merge), master branch의 소스로 배포를 하게 됩니다. - branch를 어떻게 관리할지는 정해져 있지 않고 구성원들의 협의에 의해 정할 수 있습니다. master branch에서만 작업할 경우 SVN과 사용법이 크게 다르지 않지만, git의 장점을 살릴 수 없기에 일반적으로는 최소 maste..

Utils/Program 2020.11.10

TLT(Transfer Learning Toolkit) Install하기 - for Jetson Tx2

말은 Jetson을 위해서 이지만 사실 Jetson에다가 하는 것은 아니다. docker파일 위에서 돌아가야 하는 것이기 때문에, 그리고 learning 자체를 해야되는것이기 때문에, 엄청나게 강력한 머신이 필요하다. 절대 Tx2위에서 돌리려고 하지말것... 용량도 안된다.. Minimum requirement 와 recommended requirement 는 다음과 같다. 그리고 Docker위에서 돌아가고, 다음과 같은 prerequisite들이 필요하다. Nvidia GPU CLoud account and API key같은 경우 그냥 가서 등록하면 되고, docker-ce 같은 경우 docker 홈페이지 들어가서 시키는 대로 하면 된다. docs.docker.com/engine/install/ubun..

Python Multiprocessing - 멀티프로세싱

www.youtube.com/watch?v=fKl2JW_qrso&t=185s 멀티쓰레딩과 거.. 의 똑같다. 키워드만 다를 뿐.. import time import multiprocessing start = time.perf_counter() def something(): print('sleeping..1 second) time.sleep(1) print('Done sleeping') processes = [] for _ in range(10): p = multiprocessing.Process(target=do_something) p.start() processes.append(p) for process in processes: process.join() finish = time.perf_counter..

Python/Concurrency 2020.10.30

Python Multithreading and Multiprocessing - Multithreading

www.youtube.com/watch?v=IEEhzQoKtQU 위는 영어로 된 동영상인데, 영어만 알아듣는다면 굉장히 좋다... 일단 동시성(Concurrency)와 병렬(Parellism)을 구분할 수 있어야 한다. 동시성은, Multithreading을 포함한 asyncronous 한 function들을 말한다. 하지만 암시적으로, 병렬이 아니라는 걸 말한다. 병렬은, 동시성을 포함하는 개념이며, 여러 코어에 프로세스가 돌아갈 수 있게 한다. 즉, 동시성은 한 코어에서 여러 개의 쓰레드가 돌아가는 걸 얘기하지만 병렬은 여러개의 코어 각각에서 각각의 프로세스가 돌아가는 걸 얘기한다. 즉, 동시성은 실제로 cpu가 많이 소모되는 일을 할 때에는 많은 속도향상을 하진 못하고, 그걸 하려면 병렬 프로그래밍..

Python/Concurrency 2020.10.30

Mac에서 Python 관리

원래 python에선 venv를 많이 쓰고, 또 편리합니다. 그냥 그 디렉토리에서만 쓰고, 지우면 되니깐요. python3 -m venv /path/to/new/virtual/environment 한 이후에 생겨나는 directory/bin 폴더로 들어가서 source activate 를 하게 되면 새로운 환경이 생겨나게 됩니다. 하지만 venv의 문제는, 여러 파이썬의 버전을 왔다갔다 하기 힘들다는 점에 있습니다. 그래서 나온게 pyenv입니다. medium.com/python-every-day/python-development-on-macos-with-pyenv-2509c694a808 Python Development on macOS with pyenv UPDATED: May 31, 2020 medi..

환경설정 2020.10.28