updated opencv_ffmpeg build instructions
This commit is contained in:
		
							
								
								
									
										3
									
								
								3rdparty/ffmpeg/make.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								3rdparty/ffmpeg/make.bat
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,2 @@
 | 
			
		||||
rem gcc -Wall -shared -o opencv_ffmpeg.dll -O3 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -lwsock32 -lpthreadG<64>E2
 | 
			
		||||
rem set path=c:\dev\msys32\bin;%path% & gcc -Wall -shared -o opencv_ffmpeg.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -lwsock32
 | 
			
		||||
set path=c:\dev\msys32\bin;%path% & gcc -Wall -shared -o opencv_ffmpeg.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -lwsock32
 | 
			
		||||
set path=c:\dev\msys64\bin;%path% & gcc -m64 -Wall -shared -o opencv_ffmpeg_64.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat64 -lavcodec64 -lavdevice64 -lswscale64 -lavutil64 -lavcore64 -lwsock32 -lws2_32
 | 
			
		||||
							
								
								
									
										35
									
								
								3rdparty/ffmpeg/readme.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										35
									
								
								3rdparty/ffmpeg/readme.txt
									
									
									
									
										vendored
									
									
								
							@@ -7,3 +7,38 @@ Otherwise the produced DLL will likely be dependent on libgcc_s_dw2-1.dll or sim
 | 
			
		||||
While we want to make the DLLs with minimum dependencies: Win32 libraries + msvcrt.dll.
 | 
			
		||||
 | 
			
		||||
ffopencv.c is really a C++ source, hence -x c++ is used.
 | 
			
		||||
 | 
			
		||||
How to update opencv_ffmpeg.dll and opencv_ffmpeg_64.dll when a new version of FFMPEG is release?
 | 
			
		||||
 | 
			
		||||
1. Install 32-bit MinGW + MSYS from
 | 
			
		||||
   http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/
 | 
			
		||||
   Let's assume, it's installed in C:\MSYS32.
 | 
			
		||||
2. Install 64-bit MinGW. http://mingw-w64.sourceforge.net/
 | 
			
		||||
   Let's assume, it's installed in C:\MSYS64
 | 
			
		||||
3. Copy C:\MSYS32\msys to C:\MSYS64\msys. Edit C:\MSYS64\msys\etc\fstab, change C:\MSYS32 to C:\MSYS64.
 | 
			
		||||
   
 | 
			
		||||
4. Now you have working MSYS32 and MSYS64 environments.
 | 
			
		||||
   Launch, one by one, C:\MSYS32\msys\msys.bat and C:\MSYS64\msys\msys.bat to create your home directories.
 | 
			
		||||
 | 
			
		||||
4. Download ffmpeg-x.y.z.tar.gz (where x.y.z denotes the actual ffmpeg version).
 | 
			
		||||
   Copy it to C:\MSYS{32|64}\msys\home\<loginname> directory.
 | 
			
		||||
 | 
			
		||||
5. To build 32-bit ffmpeg libraries, run C:\MSYS32\msys\msys.bat and type the following commands:
 | 
			
		||||
 | 
			
		||||
   5.1. tar -xzf ffmpeg-x.y.z.tar.gz
 | 
			
		||||
   5.2. mkdir build
 | 
			
		||||
   5.3. cd build
 | 
			
		||||
   5.4. ../ffmpeg-x.y.z/configure --enable-w32threads
 | 
			
		||||
   5.5. make
 | 
			
		||||
   5.6. make install
 | 
			
		||||
   5.7. cd /local/lib
 | 
			
		||||
   5.8. strip -g *.a
 | 
			
		||||
 | 
			
		||||
6. Then repeat the same for 64-bit case. The output libs: libavcodec.a etc. need to be renamed to libavcodec64.a etc.
 | 
			
		||||
 | 
			
		||||
7. Then, copy all those libs to <opencv>\3rdparty\lib\, copy the headers to <opencv>\3rdparty\include\ffmpeg_.
 | 
			
		||||
 | 
			
		||||
8. Then, go to <opencv>\3rdparty\ffmpeg, edit make.bat
 | 
			
		||||
   (change paths to the actual paths to your msys32 and msys64 distributions) and then run make.bat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user