빠른메뉴

컨텍정보

로그인

제품소개 회사소개 고객사 제품문의 제품관리

나클립스 인코더 서버 - V3.0 제품 설명서
시스템 사양
솔루션 분류 멀티미디어 파일 인코딩 솔루션
솔루션 구성 인코더 서버 엔진 + 콘솔 커맨더
서버 OS 환경 리눅스(x86, x86-64, IA64, SPARC, PPC, Alpha). / 윈도우 시스템(x86, x86-64).
C/S 통신 프로토콜 TCP/IP :: NECP(Naclips Encoder Command Protocol) / HTTP (Hyper Text Transfer Potocol) or HTTPS(HTTP over SSL)
서버 H/W 권장 사양 CPU, 2.0 Ghz Quad Core / Memory, 8.0GByte 이상
프로그램 실행 방식 Server Daemon
인코딩 출력파일 파일 포맷 MP4 / AVI / MKV
오디오 압축 AAC / MP3
비디오 압축 x264(h.264) / x265(h.265)
시스템 특징
  • 동영상 파일 및 오디오 파일의 인코딩 및 포맷 변환 스케줄링 서버 엔진.
  • Multi Job-Scheduling 방식의 인코딩 작업. 다량의 인코딩 작업을 안정적으로 처리.
  • 터미널 콘솔에서의 작업 스케쥴링 방식과 웹 브라우져를 통한 원격 스케줄링 방식 지원.
  • 작업내역 및 처리결과의 DB입력을 위한 인터페이스 제공.
  • 별도의 인코딩 장비 없이 자체 제공되는 인코딩 S/W 모듈을 통한 파일 트랜스코딩.
  • 멀티코어 CPU를 위한 멀티 프로세스 처리 방식을 지원하여 다량의 작업시 부하 분산기능.
  • 웹브라우져를 통한 인코딩 작업 예약 및 처리 상태 조회 가능.
  • 오디오 믹싱 인코딩(Audio Mixing Encoding : BGM 인코딩) 지원.
  • 워터마크 오버랩핑 인코딩(Watermark Image Overlaping Encoding) 지원.
  • 인코딩 완료후, 썸네일 / 프레임 인덱스 / 대표 이미지 생성 기능 지원.
  • 서버상에서 하위 디렉토리 포함, 다량의 파일 일괄 트랜스코딩 처리 기능 지원.
  • 서버상에서 하위 디렉토리 포함, 다량의 파일 일괄 썸네일 이미지만 추출 기능.
  • 시스템 구성 및 주요 기능
    구성 모듈 기능 분류 기능 상세 기능 설명
    인코더 서버 엔진

    Naclips Encoder
    Server Daemon

    미디어 파일 인코딩 인코딩 예약 관리 멀티미디어 파일을 트랜스코딩 예약 / 예약취소 / 진행상태조회 기능.
    멀티미디어 파일 인코딩 서버에 저장된 오디오/동영상 파일을 인코딩 하여 목적 디렉토리로 트랜코딩 출력.
    썸네일 이미지 생성 동영상 인코딩 후 인코딩 된 동영상의 썸네일 이미지 생성.
    프레임 이미지 인덱스 생성 동영상 인코딩 후 인코딩 된 동영상의 초당 프레임 인덱스 이미지 생성.
    처리내역 인터페이스 인코딩 예약 및 작업 처리 내역을 DBMS에 저장하기 위한 인터페이스.
    인코딩 명령 인터페이스 나클립스 인코더 명령 프로토콜(NECP:Naclips Encoder Command Protocol)을 통해 인증된 사용자가
    웹서버를 경유하여 나클립스 인코더 서버에 인코딩 명령을 예약 및 조회.
    인코더 서버 설정 서버 엔진 설정 소스/출력 디렉토리 지정, 인코딩 프로세스 관련 설정, 썸네일 이미지 관련 설정.
    인코딩 출력 설정 출력 포맷, 압축 방식, FPS, 영상 비율, 비트레이트 등 인코딩 출력 옵션 설정.
    인코딩 특수기능 설정 워터마크 인코딩 설정 / 오디오 믹싱 인코딩 설정.
    암호화 서버 연동 인코딩 작업 완료후, 나클립스 암호화 서버로 인코딩된 파일에 대한 암호화 명령 전송.
    인코더 서버 보안 명령어 IP 필터링 NECP Protocol을 통해 명령을 전송하기 위한 접속 호스트 IP/domain 필터링 기능.
    접속 IP 필터링 접속되는 IP 주소의 Allow/Deny 필터링 기능.
    시스템 로그 로그 인터페이스 인코딩 관련 로그를 텍스트 파일로 저장하거나 웹-인터페이스를 통하여 DB에 기록.
    콘솔 코맨더

    Naclips Encoder
    Console Commander

    인코딩 예약 파일 단위 예약/취소 단일 파일에 대한 인코딩 예약 및 취소.
    디렉토리 단위 예약 지정 디렉토리의 모든 파일의 인코딩 예약. (하위 디렉토리 포함 옵션 가능).
    인코딩 설정 지정 인코딩 예약시, 인코딩 서버 데몬 설정과 다른 인코딩 설정 지정.
    인코딩 조회 인코딩 상태 조회 단일 파일 / 다중 파일에 대한 인코딩 처리 상황 조회.
    인코딩 예약큐 조회 인코딩 예약 및 처리중인 파일들 조회.
    네트워크 구성도
    나클립스 인코더 서버를 통한 개발 적용 예
    아래 캡쳐 이미지는 실제 나클립스 인코더 서버를 웹서버와 연동하여 개발 적용한 예 입니다. 이 적용 예는 나클립스 업로더 서버 엔진을 통하여 사용자 PC 또는 모바일 기기에서 동영상 파일을 미디어 서버로 업로드 하고, 업로드된 동영상 파일은 서비스사가 지정한 인코딩 옵션에 따라 나클립스 인코더 서버엔진을 통하여 인코딩(트랜스코딩) 하여 VOD 스트리밍 재생하도록 자동화 되어 있습니다.

    - 동영상 파일을 업로딩 / 인코딩 하기 위한 대기화면

    - 선택된 파일을 업로드 한다. (나클립스 업로더 서버 엔진 사용됨)

    - 동영상 파일 업로드 완료, 나클립스 인코딩 서버 엔진으로 인코딩 예약 전송함.

    - 동영상 리스트 페이지로 진행. '인코딩 중' 썸네일 이미지 클릭하여 인코딩 상태 확인.

    - 동영상 파일 인코딩 진행 상태 Refresh. (나클립스 인코딩 서버로부터 수신).

    - 인코딩 완료후 인코딩 서버는 썸네일 이미지 및 프레임 인덱스 이미지 생성.
    서버 데몬 설정 및 구동
    나클립스 인코더 서버 설정
    [admin@media admin]# ls /usr/local/nencoder/conf/
     bookinghosts.allow 	......... 인코딩 예약 명령이 가능한 호스트 IP 주소들 지정
     daemon.conf 		......... 나클립스 인코더 서버 설정파일.
     hosts.allow 		......... 접속 허용 IP 주소들 지정 (선택 옵션)
     hosts.deny 		......... 접속 거부 IP 주소들 지정 (선택 옵션)
     httpaccess.allow 	......... 명령어 허용 웹페이지 도메인 주소들 지정 (선택 옵션)
     mediafiles.ext 	......... 인코딩 가능한 원본 동영상/오디오 파일 확장자 지정.
     nexenc.conf 		......... 인코딩 옵션 설정 파일.
     ssl.conf   		......... 인코딩 명령 통신 프로토콜을 HTTPS로 사용할 경우 설정옵션.
     thumbnails.conf        ......... 썸네일 이미지, 프레임 인덱스 이미지, 대표 이미지 생성 설정.
     
    [admin@media admin]# cat /usr/local/nencoder/conf/daemon.conf
    ; 1. NECP 명령어 포트 .................................. def : 5665
      C2S_PORT = 8087
    ; 2.나클립스 인코더 서버 이름 지정 ...................... def :
      server_name = Naclips Encoder Server, Naru.encoder
    ; 3.원본 미디어 파일 최상위 디렉토리 지정 ................ def : media
      MEDIA_ROOT = /media_files
    ; 4.출력 미디어 파일 최상위 디렉토리 지정 ................ def : export
      EXPORT_ROOT = /media_files/export
    ; 5.로그 파일 디렉토리 .................................. def : logs
      LOG_ROOT  = logs
    ; 6.원격 접속 IP 필터링 기능 여부 ....................... def : false (ref- hosts.allow/hosts.deny)
      ip_filter = true
    ; 7.출력 파일 생성시 동일 파일, Overwrite 여부 지정 ...... def : true
      overite_same_file = false
    ; 8.출력 파일 생성시 서브 디렉토리 생성 여부 ............. def : true
      create_sub_directory = true
    ; 9.파일 인코딩 여부 ................................... def : 1 (0:off(copy) 1:on(encoding))
      encoding_media = 1
    ;10.최대 인코딩 프로세스 갯수 ........................... def : 2
      enc_process_count  = 10
    ;11.최대 인코딩 예약 대기열 수 .......................... def : 1024
      enc_queue_size = 2048
    ;12.check CORS(Cross Origin Resource Sharing) Option .. def : true (ref- httpaccess.allow)
      check_cors_option = true
    ;13.미완료된 인코딩 출력 파일 자동 삭제 여부 ............. def : false 
      clear_incompleted_export = no
    ;14.지정시간 동안 인코딩 작업이 멈추어 있으면 작업종료  ... def : 30 (unit:sec)
      encoding_timeout = 30
    ;15.최대 동시 접속수 ................................... def : 0 (maximum)
      max_connection = 0	
    ; -.인코딩 정보 DB 인터페이스 URL ...................... def :
      web_interface_url = https://log.nexpoly.co.kr/iface/logface_nencoder.php
    ; -.enable ssl(https) protocol ....................... def : false
      enable_ssl = yes
    
    [admin@media admin]$ cat /usr/local/nencoder/conf/nexenc.conf
    ;0.Media Format ................ def : mp4 / avi / mkv
      media_format = mp4
    ;1.Video Compression ........... def : x264(H.264) / x265(h.265)
      video_cdc = h264
    ;2.audio compression ........... def : aac / mp3
      audio_cdc = aac
    ;3.video compress bitrate ...... def : 1024(kbps)
    ; 1024              <= 무조건 1024kbps 로 인코딩.
    ; 1024/-20/640:2048 <= 원본 동영상의 비디오 비트레이트 값보다 20Kbps 작게. 최소값:640Kbps, 최대값:2048Kbps. 원본값 알수 없으면 1024Kbps.
    ; 1024/+20/640:2048 <= 원본 동영상의 비디오 비트레이트 값보다 20Kbps 크게. 최소값:640Kbps, 최대값:2048Kbps. 원본값 알수 없으면 1024Kbps.
    ; 1024/0  /640:0    <= 원본 동영상의 비디오 비트레이트 값과 같게. 최소값 640Kbps, 최대값 없음. 원본값 알수 없으면 1024Kbps.
    ; 1024/+10          <= 원본 동영상의 비디오 비트레이트 값보다 10Kbps 크게. 최소값,최대값 없음. 원본값 알수 없으면 1024Kbps.
      video_bitrate =  1500/-10/800:2048
    ;4.video frame per second ...... def : 0 .. 0:original 1:15 2:23.976 3:24 4:25 5:29.97 6:30 7:48 8:60
    ; 음수이면 무조건 해당 값으로 인코딩, 양수이면 원본 영상의 video-fps를 초과하지 않는 값으로 인코딩.
    ; 만약 video_fps = 8 이고, 원본 영상의 video-fps가 30이라면 인코딩 설정값은 30이 된다. 하지만 video_fps = -8 이면 인코딩 설정값은 60이다.
      video_fps = 0
    ;5.visual aspect ratio ......... def : 0 .. 0:keep original aspect ratio/ 1: 4:3/ 2: 16:9/ 3: custom/ 4: original size
      video_aspect_ratio = 2
    ;6.base direction for resizing . def : 0 .. 0:width 1:height 2:auto (for video_aspect_ratio=0,1,2)
    ; 넓이값 높이값 중에서 사이즈 변경시 기준이 되는 위치.
      base_direction = 0
    ;7.maximum video width ......... def : 640  / 변환 출력될 비디오의 넓이값
      video_width = 640
    ;8.maximum video height ........ def : 480  / 변환 출력될 비디오의 넓이값
      video_height = 390
    ;9.video resize style .......... def : 0 .. 0:crop 1:stretch 2:black edge 3:auto   /  비디오 사이즈 변경시 여백처리 방식
    ;  0:초과한 부분을 잘라냄, 1:남는 부분을 늘려서 채움, 2: 남는 부분을 검은색 배경으로 채움. 3:자동 (0번과 2번중, 여백낭비가 작은 방식 계산후 선택)
      video_resize_style = 2
    ;0.audio compress bitrate ...... def : 2 .. 0:48 1:64 2:128 3:192 4:256 5:320 6:480 7:520 8:560 9:640 10:720 11:840 12:960
      audio_bitrate = 2
    ;1.audio sample rate ........... def : 0 .. 0:original 1:22050 2:24000 3:32000 4:44100 5:48000 6:64000
    ; 음수 이면 무조건 해당 값으로 인코딩, 양수이면 원본 영상의 Audio Sampling Rate를 초과하지 않는 값으로 인코딩.
    ; 만약 audio_sample_rate = 5 이고, 원본 영상의 해당값이 44100이라면 인코딩 설정값은 44100이 된다. 
    ; 하지만 -5로 설정하면 이면 인코딩 설정값은 48000이 된다.
      audio_sample_rate = 0
    ;2.audio mode .................. def : 0 .. 0:stereo 1:joint-stereo 2:dual-channel 3:mono
      audio_mode = 0
    ;3.increase volume ............. def : 0 .. (0 ~ 20)
      audio_volume = 0
    ;4.워터마크 활성화 여부 ............ def : no (이 값을 활성화 하고, 인코딩 예약 명령에 워터마크 옵션을 추가하여야 워터마크 적용됨)
      water_mark_enable = yes
    ;5.water-mark file(path or url(http only)) / 워터마크 이미지의 저장위치 지정. 서버내의 로컬 패스 및 http-URL 지정 가능.
      water_mark_image = http://www.nexpoly.co.k/image/watermark/wmark.png
    ;6.water-mark position ......... def : 1(top-right) .. 워터마크 위치 : 12방향 에서부터 시계 방향으로..
    ; 0:top-center, 1:top-right, 2:middle-right, 3:bottom-right, 4:bottom-center, 5:bottom-left, 6:middle-left, 7:top-left,
    ; 8:middle-center
      water_mark_position = 7
    ;7.water-mark padding .......... def : 0 (unit:pixel) .. 워터마크 여백 (픽셀 단위로 지정)
      water_mark_padding = 5
    ;8.임시 동영상의 비디오 비트레이트 배율 값 .. def : 10 
    ; 인코딩중 필요시 임시 동영상을 생성하는데, 임시 동영상의 비디오 압축률의 배율값 지정. (기본값: 10배)
      temp_bitrate_scale = 10	
    ;9.additional encoding options . def :
      additional_options =
    	
    [admin@media admin]$ cat /usr/local/nencoder/conf/thumbnails.conf
    ; -.enable frame index  ...................... def : true .. 프레임 인덱스 이미지 생성 여부
      enable_frame_index = yes
    ; -.enable thumbnail image ................... def : true .. 썸네일 이미지 생성 여부
      enable_thumbnail = yes
    ; -.nextube's contents root directory ........ def : expoprt/thumb .. 썸네일 이미지 루트 디렉토리
      image_root = /media_files/thumbnails
    ; -.frame image height pixel ................. def : 160 .. 프레임/쌈네일 이미지 높이값.
      frame_image_height = 160
    ; -.total frame image count .................. def : 200 .. 프레임 이미지 전체 갯수.
      total_frame_image_count = 300
    ; -.row, column values of frame image page ... def : 6x5 .. 프레임 이미지 페이지 행/렬 수.
      frame_image_page_size = 6x5 
    ; -.title-thumbnail's prefix ................. def : .. 대표 이미지 프리픽스(prefix)
      title_image_prefix = export^
    ; -.title image positon in frames ............ def : 5.0 (unit:sec) .. 대표 이미지 프레임 위치 (초단위)
      title_image_position = 10.0 
    
    
    나클립스 인코더 서버 데몬 실행.
    [admin@media admin]$ /usr/local/nencoder/daemonctrl start
    NACLIPS.encoder Daemon Controler for Linux Intel 64-Bit Machine. Ver:1.1.200.
    Copyright(C) 2021 NEXPOLY Technology Inc, All Rights Reserved.
    
    NACLIPS.encoder Daemon for Linux Intel 64-Bit Machine. Ver:3.0.0.00.
    Copyright(C) 2021 NEXPOLY Technology Inc, All Rights Reserved.
    
    .. Reading Main Configuration ....
       17 Configuration(s) fixed up.
     
    .. Reading Naclips VOD Streamer Configuration ....
       1 Configuration(s) fixed up.
    
    .. Reading Allow/Deny Host List ....
       3 allowd host(s) registered.
       0 denied host(s) registered.
    
    .. Reading Access-Control-Allow-Origin Host List ....
       4 allowed domain/host name registered.
    
    .. Reading SSL Configulation ....
       4 SSL Configulation(s) fixed up.
    
    .. Reading Thumbnail Extraction Configulation ....
       8 Thumbnail Extraction Configulation(s) fixed up.
    
    .. Reading Encoding Reservation Host List ....
       3 allowd host(s) registered.
    
    .. Reading Source Media File Extension List .... OK
    
                        Host Server Name : naclips
                       Server IP Address : 192.168.1.128
                    User Connection Port : 5665
                     Encoder Server Name : Naclips Encoder Server, Naru.encoder
                            Product Code : 1342
                      Maximum Connection : 100
                   Enable HTTP over SSL? : Yes
    
                  Source Media Directory : /media_files
                  Media Export Directory : /media_files/enc_export
    
                     User Connection Log : /usr/local/nencoder/logs/con.log
                      Daemon Process Log : /usr/local/nencoder/logs/pro.log
                Encoding Job EnQueue Log : /usr/local/nencoder/logs/cmd.log
                 Encoding-stat Query Log : /usr/local/nencoder/logs/stt.log
                       edia Encoding Log : /usr/local/nencoder/logs/enc.log
             Job EnQue Web-Interface Log : /usr/local/nencoder/logs/web.log
                    Connection Error Log : /usr/local/nencoder/logs/err_cn.log
                      Encoding Error Log : /usr/local/nencoder/logs/err_en.log
                Generating Thumbnail Log : /usr/local/nencoder/logs/tmb.log
    
                   Remoted-IP Filtering? : Yes
                  Overwrite Same Output? : No
                   Create sub-directory? : Yes
                         Encoding Media? : Yes(encoding)
                    Encoder Thread Count : 3
                  Encoding List-Que Size : 1024
              Interface URL for Encoding : https://log.nexpoly.co.kr/iface/logface_nencoder.php
                      Check CORS option? : Yes
    
    Enable Frame Index Image Extraction? : Yes
            Enable Thumbnail Extraction? : Yes
          thumbnail image root directory : /media_files/thumbnails
                frame index image height : 160
     fixed total frame index image count : 300
             frame index image page size : 6x5
          title image position in frames : 10.0 sec
                      title image prefix : export^
    
    .. Reading Encoding Options .......... 20 Encoding Option(s) fixed up.
              output media file format : mp4
                       video compression : x264
                       audio compression : aac
               video compress correction : 0 kbps
                default compress bitrate : 1024 kbps
                         minimum bitrate : 640 kbps
                        frame per second : 6(30)
                     visual aspect ratio : 0(original aspect ratio)
                   base resize direction : 1(height base)
                     output video width  : same aspect ratio of original video width
                     output video height : 390
                  audio compress bitrate : 2(128 kbps)
                       audio sample rate : 4(44100 Hz)
                      audio channel mode : 0(stereo)
                    enlarge audio volume : 0(original)
                    activate water-mark? : No
    
    ## Starting up NACLIPS.encoder Daemon  .....
    ## Starting up ServerEngine            ..... OK(pid:26614).
    ## Starting up EncoderEngine           ..... OK(pid:26617).
    
    
    NACLIPS Encoder Console Commander.
    나클립스 인코더 콘솔 커맨더(nencodcmd)는 나클립스 인코더 서버로 로컬 접속 또는 원격으로 접속하여 인코딩 예약을 하거나 인코딩 조회를 하는 커맨드 라인 프로그램 (Command Line Program) 입니다. 나클립스 인코더 콘솔 커맨더는 리눅스 버전과 윈도우 버전을 지원합니다.
    나클립스 인코더 콘솔 커맨더(nencodcmd) 명령 형식.
    nencodcmd COMMAND [server= SERVER_IP[:PORT]] [source_media= SOURCE-MEDIA-FILE-PATH] [export_path= EXPORT-MEDIA-PATH] [OPTIONS]
    commands:
      enqueue = 미디어 파일 및 디렉토리 단위의 인코딩 예약.
      dequeue = 인코딩 예약 또는 진행중인 인코딩 작업의 취소.
      current = 현재 진행중인 인코딩 상태 조회.
      clean = 완료된 인코딩 상태를 깨끗이 초기화 한다. (모든 인코딩 작업이 완료된후에 명령 가능)
    options :
      -o = overwrite - 이미 존재하는 파일이면 덮어쓰기.
      -r = recursive - 하위 디렉토리 포함.
      -c = clone directory - 원본소스 디렉토리 지정시, 원본 디렉토리 구조를 그대로 복제하여 출력디렉토리를 생성한다.
      -t = thumbnails only - 인코딩 작업은 하지 않고 썸네일 이미지와 대표이미지 생성 작업만 한다.
      -s = use https protocol - 나클립스 인코더 서버가 HTTPS 통신 프로토콜로 실행중일때 사용한다.
      ext= extensions - 원본 소스 미디어 파일의 확장자를 설정한다. (이때 나클립스 인코더 서버에서 설정된 미디어 확장자는 무시한다. - mediafiles.ext 설정파일 참고.)
      enc_??? = 인코딩 설정 옵션. (인코딩 설정 옵션 내역은 나크립스 인코더 서버의 conf/nexenc.conf 설정파일 참고.)
    usage :
      nencodcmd enqueue source_media=/work/sample.avi export_path=/mp4_files/work_samp02.mp4 enc_media_format=mp4 -s -o
      nencodcmd enqueue server=192.168.1.100 source_media=/work/ export_path=/mp4_files/ ext=wmv,avi enc_video_cdc=x265 -o -c -r
      nencodcmd dequeue server=127.0.0.1:8087 encoding_sequence=3245 encoding_passkey=32034034
      nencodcmd current -s
    나클립스 인코더 콘솔 커맨더(nencodcmd) 사용예.
    #/usr/local/nencoder/nencodcmd enqueue 8087 source_media=/avi/orig.avi export_path=/mp4/
    1 encoding job was enqueued.
    ; 로컬 서버에 있는 /avi/orig.avi 단일파일을 /mp4/orig.mp4 파일로 인코딩 출력되도록 인코딩 예약한다.
    ; 이때, 인코딩 출력 포맷등 인코딩 형식은 인코더 서버에 설정된 인코딩 설정을 따른다.
    
    #/usr/local/nencoder/nencodcmd enqueue server=192.168.1.1:8087 source_media=/mkv/ export_path=/mp4/ -o
    /mkv -> 28 media files found. Enqueued.
    1 encoding jobs (28 files) were enqueued.!!
    ; 192.168.1.1서버에서 나클립스 인코더 서버가 가동중일때, /mkv/ 디렉토리의 모든 파일을 /mp4/ 디렉토리에 인코딩 출력되도록 인코딩 예약한다.
    ; 이때 인코딩 출력되는 파일이 이미 존재할 경우, 해당 파일을 Overwrite 한다.
    
    #nencodcmd enqueue source_media=/avi/ export_path=/mp4/ -c -r enc_video_bitrate=1024 ext=avi,wmv enc_media_format=mp4
    /avi/server/test -> 16 media files found. Enqueued.
    /avi/server -> 10 media files found. Enqueued. 
    /avi -> Not found media files. Skipped.
    2 encoding jobs (26 files) were enqueued.!!
    ; /avi 디렉토리 및 하위 디렉토리내의 확장자가 avi,wmv인 파일만 /mp4 디렉토리에 출력되도록 인코딩 예약한다. 
    ; 이때, 출력 디렉토리의 구조는 원본 디렉토리 구조를 그대로 복제하여 생성한다. 
    ; 변환된 영상파일의 비디오 압축률(video bitrate)은 1024Kbps으로 하고, 나머지 설정은 인코더 서버의 인코딩 설정을 따른다.
    
    #nencodcmd enqueue source_media=/avi/test export_path=/mp4/ -c enc_water_mark_enable=yes enc_audio_source="/audio/bgm.mp3"
    /avi/test -> 23 media files found. Enqueued.
    1 encoding jobs (23 files) were enqueued.!!
    ; /avi/test 디렉토리의 멀티미디어 파일을 /mp4 디렉토리에 출력되도록 인코딩 예약한다.
    ; 이때 나클립스 인코더 서버 설정에서 지정된 이미지 파일을 워터 마크로 삽입하고, /audio/bgm.mp3 음원파일을 오디오 믹싱하여 인코딩 출력한다.
    
    #/usr/local/nencoder/nencodcmd current server=192.168.1.1 -s
    Query result : 1005 OK_RETURN_CURRENT
    Current encoding source : /media_files/OK/12/AA/data/00/0F/_xfiupx_20151210002158326.mp4
    Remained source files count : 33
    Remained source files bytes : 158.59MB
    Failed encoding count : 0
    ; 192.168.1.1 서버에서 구동중인 나클립스 인코더 서버의 현재 인코딩 진행 상태를 조회한다. 이때 통신 프로토콜은 HTTPS를 사용한다.
    
    #nencodcmd dequeue encoding_sequence=3245 encoding_passkey=32034034
    5th encoding job was dequeued.
    ; 예약번호 3245번의 인코딩 작업을 취소한다.
    
    * 나클립스 인코더 콘솔 커맨더 명령시 아래와 같은 인코딩 옵션을 추가할 수 있다.
     enc_media_format = "인코딩 출력 미디어 파일 포맷" 지정.
     enc_video_cdc = "비디오 압축 방식" 지정.
     enc_audio_cdc = "오디오 압축 방식" 지정.
     enc_video_bitrate = "비디오 압축 비트레이트" 지정.
     ......
     기타 추가옵션은 나클립스 인코더 서버 인코딩 설정파일 (nexenc.conf) 파일을 참조. (인코딩 설정명 앞에 "enc_"를 추가한 형태로 지정)
    
    NACLIPS Encoder Command Protocol (NECP : Rovecat)
    나클립스 인코더 명령 프로토콜(NACLIPS Encoder Command Protocol. 이하, NECP)은 변형된 HTTP 프로토콜 형태로서, 웹브라우져나 기타 네트워크 프로그램을 통하여 원격지에서 미디어 서버의 동영상 파일을 인코딩 예약 및 조회를 할 수 있는 명령어 프로토콜 입니다. NECP 프로토콜은 아래와 같은 형식을 따릅니다.
    프로토콜 형식.
    1. Post 형식 (Client to Server)
    Command/Server_Code  Server_IP_Addr:Server_Port/Client_IP_Addr  Protocol_Name/Version
    Content-Length: Content_Length

    Content_Body (Options)
    2. Return 형식 (Server to Client)
    Protocol_Name/Version  Return_Code
    Date: Date_Time_String
    Server: Server_Engine_Description
    Content-Length: Content_Length

    Content_Body (Result)

    NACLIPS Encoder Command Protocol 사용예.
    1. 인코딩 예약 명령 예
    > Clent to Server Post
    ENQUE/NENCODER 192.168.1.100:8087/192.168.1.201 ROVECAT/1.0
    Content-Length: 108
    
    source_media: /avi/25m_01.avi
    export_path: /export/mp4
    overwrite: 1
    enc_video_cdc: mp4v
    enc_video_bitrate: 1024
    
    mkv/25m_01.avi 파일을 export/mp4/ 디렉토리에 인코딩 하도록 인코딩 예약 등록. 이때, export/mp4/ 디렉토리에 같은 이름의 파일이 있을 경우 Overwrite 하도록 하고, 인코딩 방식은 인코더 서버에서 설정된 방식을 따르지만 비디오 압축방식 및 비디오 비트레이트는 새로 지정된 인코딩 옵션으로 변경하여 인코딩 하도록 한다.
    > Server to Client Return
    ROVECAT/1.0 200 OK
    Date: Thu, 27 Sep 2012 08:31:51 GMT
    Server: NACLIPS.encoder/1.1.0.00 (NEXPOLY Technology Inc.)
    Content-Length: 82
    
    Result: 1000 OK_ENC_ACCEPTED
    Connection-Sequence: 6554
    Encoding-Sequence: 4879
    Encoding-Passkey: 392030
    
    인코딩 예약이 성공적으로 등록되었음. 이때, 접속 순번은 6554번이며, 인코딩 예약 번호는 4879번이다.
    2. 인코딩 작업 상태 조회 명령 예
    > Clent to Server Post
    GETSTATUS/NENCODER 192.168.1.100:8087/192.168.1.201 ROVECAT/1.0
    Content-Length: 25
    
    encoding_sequence: 4879
    
    인코딩 예약번호 4879번 인코딩 작업의 상황 조회.
    > Server to Client Return
    ROVECAT/1.0 200 OK
    Date: Thu, 27 Sep 2012 09:35:36 GMT
    Server: NACLIPS.encoder/1.1.0.00 (NEXPOLY Technology Inc.)
    Content-Length: 223
    
    Result: 1002 OK_RETURN_STATUS
    Connection-Sequence: 6554
    Encoding-Sequence: 4879
    Encoding-Source: avi/40sec.avi
    Encoding-Target: export/mp4/40sec.mp4
    Encoding-Status: 1
    Encoding-Percent: 82
    Elapsed-Seconds: 25
    Remainging-Seconds: 10
    
    조회한 예약번호의 현재 인코딩 작업 상황을 성공적으로 리턴함.
    3. 인코딩 작업 취소 명령 예
    > Clent to Server Post
    DEQUE/NENCODER 192.168.1.100:8087/192.168.1.201 ROVECAT/1.0
    Content-Length: 32
    
    encoding_sequence: 4880
    encoding_passkey: 3134330
    
    인코딩 예약번호 4880번의 인코딩 작업을 취소합니다.
    > Server to Client Return
    ROVECAT/1.0 200 OK
    Date: Thu, 27 Sep 2012 09:35:36 GMT
    Server: NACLIPS.encoder/1.1.0.00 (NEXPOLY Technology Inc.)
    Content-Length: 71
    
    Result: 1004 OK_ENC_DEQUE
    Encoding-Sequence: 4880
    Dequeuing-Return: 1
    
    대기중이던 4880번 인코딩 작업 성공적으로 취소함.
    4. 동영상 정보 조회 명령 예
    > Clent to Server Post
    GETMHEADER/NENCODER 192.168.1.100:8087/192.168.1.201 ROVECAT/1.0
    Content-Length: 28
    
    file_name: export/avi/00000.avi
    
    서버에 저장되어 있는 export/avi/00000.avi 파일의 동영상 헤더 정보를 조회한다.
    > Server to Client Return
    ROVECAT/1.0 200 OK
    Date: Thu, 27 Sep 2012 09:35:02 GMT
    Server: NACLIPS.encoder/1.1.0.00 (NEXPOLY Technology Inc.)
    Content-Length: 357
    
    Result: 1003 OK_RETURN_MHEADER
    File: export/mp4/00000.avi
    Type: 3
    ACDC: MP3
    VCDC: xvid
    ASampRate: 48000
    ABitsRate: 128
    ACH: 2
    ABrMode: 0
    VWidth: 640
    VHeight: 480
    VBitsRate: 1102
    VBrMode: 0
    Duration: 144
    FBitsRate: 1230
    AvBegin: 9988
    AvEnd: 9002542
    FSize: 9071878
    Mtime: Fri, 14 Sep 2012 10:01:42 GMT
    Ctime: Fri, 14 Sep 2012 10:01:42 GMT
    Fps: 29.97
    
    조회한 동영상 파일의 헤더정보를 성공적으로 리턴함.

    경기도 고양시 일산동구 정발산로 19, 802호(장항동 863, 지평프라자) 넥스폴리테크놀러지. | TEL: 031) 963-9035. FAX: 031) 601-8094.
    Copyright (C) 2024 Nexpoly Technology Inc. All rights reserved.