Lit. Survey and Transcoding

I have made good progress on the literature survey over the past week, writing a total of about ~3,300 words, giving what should be a detailed explanation of steganography and its counterpart, steganalysis. I currently reference 41 different papers, books, journals etc. and there are still about 10 more sources which I haven't yet included.

I have also started looking into the process of transcoding now that I have overcome my C and makefile hurdles. This has had a lesser priority, and resultantly, there is little to show for this. Whilst I have been succesfull in transcoding a video container to "raw video" this is not what I am looking for. I need to be able to transcode between actual container formats such as MP4, and not just transcode to H.264 raw video.

I think that this has been quite a productive week, but priorties are now swinging in favour of working on the Survey and Analysis document which is shaping up well. I will be working on the programming aspects as and when time permitts. 



Lit. Survey and Makefile Update

Following my meeting with Mike, we have successfully resolved the makefile compiling errors (full credit to Mike). I have also now written just short of 2,000 words towards my literature survey, I am hoping to have the first draft (complete with diagrams) finished before the end of tomorrow.



Literature Survey

Due to current assignment workload I am not where I wanted to be with my literature survey, but I have made a reasonable start within the last couple of hours.

There is a lot of background material for Steganography, all with varying degrees of relevancy. So I have decided to starrt my literature survey by explaining the different types of steganographic techniques, and the techniques that have been used in audio and image steganography.

Having established the fundamentals, I then intend to explain the current work in video steganography and the converse of steganography: steganalysis.



Makefile issues

Yet again I find myself in the position where I am being defeated by either GCC, Makefile or library linking. This rather frustrated blog post concerns Makefile issues I have been having.

I have started toying with a couple of ideas in my head, but to do them, I ideally wnat to code in more than one C file. So, with some trial and error I adapted my current makefile to compile multiple files into a single executable. However, my any non-main C files complain about undefined references.

Files wise, I have:

  • main.c
  • general.c
  • general.h

general.c references the SDL library, and correctly references the necessary includes, however, because of something in my make file, general.c is compiled into the executable without acknowledging the defined includes.

This is somewhat infuriating, I want to do something productive, but can't.



C, C++ and Ffmpeg

Over the past week and a bit I have been battling with the problems of using a managed (Java) wrapper to interact with the video library, ffmpeg. In short, all of the wrappers I have found only extend the higher level functionality of the library – I need to interact with lower level packet/frame data.

So, to cut the long story short, trying to link a simple C++ file using the g++ compiler seemed to be somewhat problematic. After significant experimentation I have been able to link to the library from a C file using gcc and a makefile to build the source.

I am now able to iterate the frames of a video file in C, identifying aspects such as keyframes, motion vectors and DCT coefficients. I have worked out the basics of video decoding, particularly for h264 (which is the format of my test video).

From here I am experimenting with attempting to re-encode the video, in the exact same format without any modification. Once I have established how to encode a video during the decoding process I can start experimenting with data manipulation.