조회 수 1494 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

영상의 원본 화질은 그대로 유지하면서 앞뒤 영상만 살짝 잘라내고 싶습니다. 그래서 스트림복사라는 기능을 알게되었는데

 

스트림 복사와 구간설정 기능을 이용해서 잘라낼 부분의 시간을 설정한 후 인코딩을 하고 결과를 봤는데 전혀 잘라지지 않고 영상이 그대로네요;;

 

스트림 복사로는 구간설정을 이용해서 잘라내기가 불가능한가요?

 

Facebook Twitter Pinterest Kakao
  • ?
    샤나디코더 2019.08.31 04:15

    구간설정해서 스트림복사 됩니다.

    다만 키프레임 단위로만 잘라져서 세밀한 구간설정은 불가능합니다. (설정구간에서 가장 가까운 키프레임 기준으로 잘림)

  • ?
    eureka87 2019.08.31 05:16
    이 늦은 시간에 답변 감사합니다.
    1초 이하의 세밀한 컷팅이라 안되는거였나 보군요.

    하나만 더 여쭐게요. 이전에 스트림복사가 아닌 재인코딩시에는 세밀한 구간까지 설정되었던것으로 기억합니다.
    그렇다면 결과적으로 재인코딩할때는 세밀한 구간까지 설정이 가능하지만, 스트림복사시에는 세밀한 구간설정이 안된다는 것인가요?
  • ?
    샤나디코더 2019.08.31 12:56
    네.
    인코딩은 영상을 새로 그려내는 개념(?)이라 프레임 구조도 재생성/재정렬되기 때문에 제약이 없습니다.
    그러나 스트림복사는 변조 없이 원본 프레임 구조를 유지하느라 칼컷이 안됩니다.
    자세한 기술정보는 다른 분께 패스~
  • ?
    JKyle 2019.09.01 15:28

    스트림 복사=재인코딩을 하지 않는다는 의미라는 걸 생각하신다면 이해하실 수 있을 겁니다.

     

    ffmpeg와 그에 기반한 프로그램들(샤나 포함)은 동영상을 구간 설정해서 자를 때 -ss 옵션을 사용합니다. 그런데 이 옵션은 지정한 시점 바로 탐색 가능한 시점(seek point)까지를 찾아 놓고, 재인코딩을 하지 않는 경우(스트림 복사) 이미 인코딩되어 있는 원본 비디오 스트림의 프레임 구조(I, P, B 프레임들)를 보존하기 위해 지정한 시점 대신 탐색 가능한 시점에서 영상을 자르게 됩니다. 그런 이유로 원하는 정확한 시점에 잘라지지 않는 거죠.

     

    만약 스트림 복사가 아닌 재인코딩이라면, 탐색 가능한 시점에서 지정한 시점까지가 디코딩되어 실질적으로 모든 프레임이 독립적인 프레임이 되므로 탐색 가능한 시점부터 지정한 시점까지의 구간은 버리게 되어 정확한 시점에서 자르는 게 가능해집니다.

     

    그렇다면 '탐색 가능한 시점'이란 뭘 의미하는 걸까요? 바로 흔히들 말하는 '키프레임'이 그것입니다. 다른 말로는 IDR(Instantaneous Decoder Refresh) 프레임이라고도 하죠. 즉, 인코딩(압축)/디코딩(압축 해제) 시 다른 프레임들을 참조하지 않으면서(I-프레임), 인코딩돼 있는 프레임들의 인코딩/디코딩 배열 순서상(timestamp 순서가 아님) 자신 이후의 프레임들이 자신 이전의 프레임들을 참조하지 않는 프레임을 키프레임이라고 합니다. 두 번째 조건이 중요한데, 만약 어떤 프레임이 I-프레임이라 하더라도 인코딩된 순서상 그 프레임 뒤에 오는 프레임이 원래의 I-프레임보다 이전의 프레임을 참조한다면 그 I-프레임은 키프레임이 아니게 됩니다. 이런 경우에는 해당 프레임을 탐색 후 재생(디코딩) 시 뒤에 오는 프레임들이 참조할 프레임이 없기 때문에 디코딩에 실패하게 됩니다.

     

    위와 같은 프레임 구조를 갖고 있는 것을 'open GOP'라고 합니다. Open GOP는 다른 말로 하면 "하나의 I-프레임을 중심으로 구성돼 있는 GOP 내의 프레임들이 다른 GOP의 프레임을 참조할 수 있는 구조"입니다.

     

    이와는 달리 GOP 내의 프레임들이 오직 같은 GOP 내의 프레임들만 참조할 수 있는 구조를 'closed GOP'라고 합니다. 추측하셨겠지만 closed GOP 구조로 인코딩돼 있는 경우 모든 I-프레임들이 바로 키프레임이 됩니다.

     

    인코딩의 효율(압축률)은 당연하게도 open GOP가 closed GOP보다 높습니다. 참조할 수 있는 프레임들이 많으면 많을수록 효율은 증가하니까요.

    물론 키프레임의 간격도 open GOP가 closed GOP보다 높습니다. 따라서 open GOP 구조로 인코딩된 비디오 스트림이 스트림 복사로 자르기를 할 때는 더 불리합니다.

     

    최근의 코덱들은 closed GOP와 open GOP를 인코딩 옵션으로 선택할 수 있게 해놓았습니다만, 우리가 가장 많이 사용하는 H.264는 closed가 기본값이고 HEVC은 open이 기본값입니다.

     

    추가적으로 말씀드리자면, open GOP 구조라고 해서 모든 GOP가 open인 것은 아닙니다. 당연히 중간중간 키프레임이 삽입되며 그 비율은 인코딩 설정 옵션으로 지정할 수 있습니다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 샤나 사이트 일시 접속 불가 안내 Rina 2024.04.11 1373 0
공지 소리를 4가지로 분리하는 샤나보컬리무버 프로그램을 소개합니다. Rina 2024.03.22 3997 4
공지 샤나인코더 통합 검색 기능 개선(샤나인코더 우측 상단에 있는 검색창을 사용해 보세요.) Rina 2021.09.30 18881 2
공지 자유게시판에서는 자유롭게 글을 작성할 수 있지만 다음과 같은 내용은 삭제돼요 Rina 2020.03.18 16627 5
공지 일반 [필독] 질문 전에 반드시 읽으세요!!! 3 file JKyle 2019.09.16 32889 6
공지 일반 [알림] 질문 먹튀하지 마시기 바랍니다 => 본문 변경 금지 23 JKyle 2018.10.12 28612 16
2930 비트레이트 모드로 하면 오류가 나요. 2 랩을한다홍홍홍 2015.09.30 415 0
2929 샤나님 9 file 황금별똥 2018.01.23 416 0
2928 인코딩 예약 시스템 건의. 1 초보인코더j 2015.03.03 417 0
2927 오디오 코덱 ALAC 인코딩 문제 용용이 2017.08.28 417 0
2926 ffmpeg에 대해서 file Soeasy777 2018.12.31 417 0
2925 ▶자막 줄간격◀ 어떻게 조절하는지 궁금합니다 현진 2017.09.15 418 0
2924 로고 삽입 시 로고 위치에 로고이미지가 아닌 해당 영상이 썸네일 크기로 반복 재생됩니다 아이바쨩 2018.05.18 418 0
2923 덕분에 잘 활용하고 있습니다. 노랑배 2019.02.21 418 0
2922 avi xvid 인코딩 브닝 2017.01.07 420 0
2921 예전에 키라라 인코더가 샤나인코더가 된게 맞나요? 2 유밍 2017.03.29 420 0
2920 아이피타임을 끄면 샤나속도가 더 빨라지네요 2 goku 오공 2017.06.21 420 0
2919 해당 부분 표시 정보를 평균 비트레이트로.. 1 미니미니 2019.02.03 420 0
2918 기존 자막이랑 인코딩했을때 자막 결과물이 다르네요... 2 신밧드 2016.12.14 421 0
2917 그저께까지만해도 smi 자막 잘 입혔는데.. 1 인코딩딩딩 2017.01.11 421 0
2916 필드를 바꿔서 인코딩 할 수 있을까요?? 1 닉네임뭐할까 2017.12.15 421 0
2915 인코딩한후 동영상 재생 1 아기스카이 2019.08.25 421 0
2914 일반 불러오기 오류 해결되는경우 상디2 2023.02.28 421 0
2913 자막 챕터 질문... 3 왕관앵무새 2017.11.20 422 0
2912 프로그램 개선이 가능할까요? 1 쌀밥 2018.07.07 422 0
2911 음성스트림을 여러개 넣어서 인코딩할때 각각 설정 가능한가요? Dingo 2017.05.27 423 0
Board Pagination Prev 1 ... 10 11 12 13 14 15 16 17 18 19 ... 161 Next
/ 161