You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bean c243c36e4f RD-213 implementation http proxy 2 years ago
gradle RD-213 implementation http proxy 2 years ago
src RD-213 implementation http proxy 2 years ago
.editorconfig RD-213 implementation http proxy 2 years ago
.gitignore RD-205 init project 2 years ago
README.md RD-213 implementation http proxy 2 years ago
build.gradle.kts RD-213 implementation http proxy 2 years ago
gradlew RD-205 init project 2 years ago
gradlew.bat RD-205 init project 2 years ago
img.png RD-213 implementation http proxy 2 years ago
img_1.png RD-213 implementation http proxy 2 years ago
settings.gradle.kts RD-205 init project 2 years ago

README.md

프로젝트 구조

  • domain: 순수한 도메인 관련 모델/기능
  • dsl: TC DSL 관련 정의와 기능들
  • proxy: 프록시 푸쉬 서버 관련 기능들
    • STB 에 system command 와 cue 송신
    • STB 의 auth, ads, vast, assetConvert 관련 HTTP 요청을 수신
      • QA 들이 apache 를 사용하여 하던 행위를 대체
      • TC 에서 HTTP 응답 변환이나 일시 정지, 딜레이가 필요할 경우 수행
  • tc: TC 테스터와 TC 정의들
    • 실제 TC 들을 정의
    • 정의된 TC 들을 수행

실행 방법

  1. STB 대여 (아래 사항들 확인 필요함)

    • STB 가 접속되는 AP 이름과 비밀번호
    • STB IP, adb 포트 번호
  2. STB 설치

    1. 컴퓨터의 USB 에 캡쳐보드를 꼽고 캡쳐보드와 STB output 과 연결

    2. 컴퓨터에 obs-studio 설치 및 실행

    3. 왼쪽 하단의 Sources 의 + 버튼(add sources) 클릭

      img.png

    4. video capture device(V4L2) (리눅스 기준) 클릭

    5. 디바이스를 바꿔가면서 STB 를 찾아 선택 후 OK 클릭

      img_1.png

  3. application.yml 에서 anypoint.android-qa.stb 하위 정보들을 STB 의 정보로 수정

  4. obs-studio 종료 후 android-qa 애플리케이션 실행 (obs-studio 종료해야 정상 작동됨)

TC 수행 순서

  1. adb 를 사용하여 STB 이 프록시 서버를 바라보도록 변경
    adb shell am broadcast -a tv.anypoint.agent.app.CHANGE_TEST_PROPERTY --es change.command CHANGE_API_ENDPOINT --es api.endpoint http://<PROXY_SERVER_URL>:<PROXY_SERVER_PORT>
    

ffmpeg 리눅스에서 사용 방법

v4l2(video4linux2) 를 사용하여 캡쳐보드의 devicePath 구하기

$ v4l2-ctl --list-devices                                                                                                                                                                                                            
Integrated Camera: Integrated C (usb-0000:00:14.0-8):
/dev/video0
/dev/video1
/dev/video2
/dev/video3
/dev/media0
/dev/media1

USB Video: USB Video (usb-0000:09:00.0-2.4):
/dev/video5
/dev/video6
/dev/media3
  • 비디오: -f video4linux2 -i <VIDEO_PATH> 의 형식으로 입력.
  • 오디오: -f alsa -ac 2 -i default 만 넣어도 되는데 캡쳐보드 전체가 동일한 지는 확인 안해 봄

아래 예제 참고

$ ffmpeg -f video4linux2 -i /dev/video5 -f alsa -ac 2 -i default -b:v 10M -vcodec h264_nvenc -pixel_format yuv420p -rtbufsize 1000M  output_new_captureboard_30fps.mp4