I am trying to convert a video stream(SDI card) using DNxHD codec in c++. SDKs are available from both sides. So the task I am actually left with is taking the frames from stream and converting them one by one using the DNxHD sdk. But how do we join the obtained the frames and create a wrapper around it. Please let me know how I should approach this scenario.? Any relevant information will be greatly helpful to me since I am new to video processing and c++.
Asked
Active
Viewed 162 times
1 Answers
1
DNxHD codec frames don't need any extra processing to join AFAIK. You should be able to simple concatenate one frame to another to get a vlid file.

av501
- 6,645
- 2
- 23
- 34
-
so I should be able to view even if two frames are there. And what about containers like mxf? So I donot think it will be as simple since the container is not build yet. What do you say? – Prakash Aug 26 '12 at 19:26
-
Well I dont know the mxf format much. Why don't you take two mxf files with same resolution/bitrate etc dnxhd files in them and just concatenate the two. If the concatenation works you should be able to do that somewhere else too. – av501 Aug 27 '12 at 06:54
-
When using DNxHD sdk the frames are being saved in .hd format, I got no clue on how to approach after that. Can you please help me.? – Prakash Aug 29 '12 at 06:38
-
Try concatenating the file to itself and play it. Does that work? – av501 Aug 29 '12 at 09:05
-
+1 for help so far. I suppose there is more to it. It didn't seem to work. Unless I know how things happen there is not more point in working blindly. Can you help me on how things work? Is there any blog, article or tutorial on the process? – Prakash Aug 29 '12 at 12:01
-
The best way would be to understand dnxhd and mxf formats first. Do understand multimedia in general? Intra pictures [what that means]? Dnxhd is a intra only format. If you can do your concatenation in dnxhd form and then mux it to mxf later if that is possible. I mean if you have ability to encode to dnxhd every frame, you just have to write the file in contigous fashion out to disk and you have a playable file. Try using ffprobe/ffplay to play those files out and see what format details it gives or errors it gives. But you are right, you need to understand your system to solve the problem. – av501 Aug 29 '12 at 14:54