2012-04-02 3 views
0

비디오를로드하고 수정해야합니다. 스트림을 비트 단위로 읽고 Steganography의 목적으로 어떻게 바꿀 수 있습니까? 나는 비트 단위로 비디오 파일을 보여주는 예를 찾을 수 없었다. 미리 감사드립니다.자바 또는 C++로 비디오 및 오디오 스트림을 사용하는 스테 가노 그래퍼

+0

[Video Steganography] 가능한 복제본 (http://stackoverflow.com/questions/9567818/video-steganography) – dasblinkenlight

답변

0

먼저 비디오가 있어야합니다. 디스크에있는 데이터 (또는 인터넷에서받은 데이터)와 창에 표시된 프레임의 최종 픽셀 (단일 프레임의 실제 이미지) 사이에 알고리즘이 있습니다 (비디오가 압축되지 않은 그림의 "시퀀스"일 뿐이라면 제외) . 일단 자신을 중간에 놓을 수 있으면 (디코딩 된 데이터 읽기) 데이터를 변경할 수 있습니다. 그런데 원래 형식으로 되돌려 놓아야합니다. 그렇지 않으면 종종 "주입 된"숨겨진 비트를 쉽게 파괴 할 수있는 손실이 많은 복잡한 알고리즘을 사용하는 압축 된 데이터가 아닙니다. 방법 당신은 신중하게 시내를 정교합니다.

jpeg 이미지에 데이터를 숨기는 데 동일한 문제가 있습니다 (알려진 방법은 최종 jpeg 파일 형식으로 저장되는 DCT의 계수를 사용합니다). 검색하면 this과 같은 링크를 찾을 수 있습니다.하지만 확인되지는 않았지만 그 아이디어는 알려졌고 이에 대한 자료를 찾을 수 있습니다.

비디오에 데이터를 숨기는 것이 그렇게 다르지는 않지만 알 수 있듯이 압축되지 않은 또는 무손실로 압축 된 이미지/텍스트/사운드/기타에 직접 주입하는 것과는 다릅니다.

비디오를 "비트"로 볼 수 있습니다. 비디오 파일을로드하고 나면, 프레임별로 프레임을 구성하고 (라이브러리를 사용하여 ...) 바이트를 가져옵니다. 비트 추출 및 수정은 shift 및 bitwise-and/or와 같은 시원한 작업의 문제입니다. 비디오 파일을 디코딩하는 것이 무엇을 의미하는지 알아 보려면 플레이어의 소스 코드 (예 : mplayer)와 사용할 수있는 코덱을 검색 할 수 있습니다 (세부 사항을 원하지만 실제로는 코덱 플레이어가하는 방식).

관련 문제