Click here to Skip to main content
15,867,834 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I have a desktop application (mfc) in which now I have to implement split and merge of MP4 videos. I have searched a lot and found almost nothing online. Please help me with some hints on how to proceed and what to use. Splitting and merging should be done on timeline basis and not based on size. Code is in VC++

Can I achieve this with Windows Video Encoder? If yes, how to know about the exposed methods in WME?
Posted
Comments
kiDDevil 25-Apr-14 2:12am    
More inputs are welcome since I am doing a research work now prior to the implementation phase.

1 solution

First of all, there is no such thing as just MP4. This is a class of compression algorithms for both audio and video, and that's not all: there is also such thing a the container format. I don't want to explain it all here; you may want to read about related topics on Wikipedia; and it would be several different articles.

I would strongly advise to use open-source multi-platform FFmpeg or libavcodec libraries and set of utilities. Please see:
http://en.wikipedia.org/wiki/Ffmpeg[^],
http://ffmpeg.org/[^],
http://en.wikipedia.org/wiki/Libavcodec[^],
http://libav.org/[^].

This stuff is written in C, so you can use the library from your C++ code. This is the best code I ever saw, it helped me in many most difficult situations related to processing media data.

Microsoft? In terms of support of variety of standards, they never did anything serious, be it their encoder or even Windows Media Player. In such cases where the wide sets of algorithms and standards are involved, open-source is a natural winner, because such project can use the help of very many contributors.

—SA
 
Share this answer
 
Comments
kiDDevil 22-Apr-14 3:34am    
Thanks a lot for providing me a path to go forward. I think it will take time to achieve this goal for sure. More clues will be warmly welcomed here.
Sergey Alexandrovich Kryukov 22-Apr-14 8:44am    
My pleasure. Are you going to accept the answer formally (green "Accept" button)? If you need more clues, please ask some follow up questions. Besides, other member can continue to add answers.
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900