下载资源后端资源详情
simplest_ffmpeg_video_filter_1.2.zip
大小:35.56MB
价格:46积分
下载量:0
评分:
5.0
上传者:leixiaohua1020
更新日期:2025-09-22

最简单的基于FFmpeg的AVFilter例子 1.2

资源文件列表(大概)

文件名
大小
.gitignore
32B
readme.txt
730B
simplest_ffmpeg_avfilter.jpg
133.21KB
simplest_ffmpeg_avfilter_pure.png
33.33KB
simplest_ffmpeg_video_filter.sln
1.45KB
simplest_ffmpeg_video_filter.suo
41KB
simplest_ffmpeg_video_filter/
-
simplest_ffmpeg_video_filter/.gitignore
75B
simplest_ffmpeg_video_filter/ReadMe.txt
734B
simplest_ffmpeg_video_filter/SDL.dll
296.5KB
simplest_ffmpeg_video_filter/avcodec-55.dll
18.06MB
simplest_ffmpeg_video_filter/avdevice-55.dll
1.28MB
simplest_ffmpeg_video_filter/avfilter-4.dll
1.94MB
simplest_ffmpeg_video_filter/avformat-55.dll
5.1MB
simplest_ffmpeg_video_filter/avutil-52.dll
408.5KB
simplest_ffmpeg_video_filter/compile_cl.bat
392B
simplest_ffmpeg_video_filter/compile_gcc.sh
202B
simplest_ffmpeg_video_filter/compile_gcc_mac.sh
223B
simplest_ffmpeg_video_filter/compile_mingw.sh
212B
simplest_ffmpeg_video_filter/cuc_ieschool.flv
911.73KB
simplest_ffmpeg_video_filter/include/
-
simplest_ffmpeg_video_filter/include/SDL/
-
simplest_ffmpeg_video_filter/include/SDL/SDL.h
3.26KB
simplest_ffmpeg_video_filter/include/SDL/SDL_active.h
1.95KB
simplest_ffmpeg_video_filter/include/SDL/SDL_audio.h
11.23KB
simplest_ffmpeg_video_filter/include/SDL/SDL_byteorder.h
1015B
simplest_ffmpeg_video_filter/include/SDL/SDL_cdrom.h
6.1KB
simplest_ffmpeg_video_filter/include/SDL/SDL_config.h
1.48KB
simplest_ffmpeg_video_filter/include/SDL/SDL_config_dreamcast.h
2.84KB
simplest_ffmpeg_video_filter/include/SDL/SDL_config_macos.h
2.84KB
simplest_ffmpeg_video_filter/include/SDL/SDL_config_macosx.h
4.24KB
simplest_ffmpeg_video_filter/include/SDL/SDL_config_minimal.h
2KB
simplest_ffmpeg_video_filter/include/SDL/SDL_config_nds.h
3.02KB
simplest_ffmpeg_video_filter/include/SDL/SDL_config_os2.h
3.69KB
simplest_ffmpeg_video_filter/include/SDL/SDL_config_symbian.h
3.18KB
simplest_ffmpeg_video_filter/include/SDL/SDL_config_win32.h
4.65KB
simplest_ffmpeg_video_filter/include/SDL/SDL_copying.h
891B
simplest_ffmpeg_video_filter/include/SDL/SDL_cpuinfo.h
2.24KB
simplest_ffmpeg_video_filter/include/SDL/SDL_endian.h
6.12KB
simplest_ffmpeg_video_filter/include/SDL/SDL_error.h
1.9KB
simplest_ffmpeg_video_filter/include/SDL/SDL_events.h
13.08KB
simplest_ffmpeg_video_filter/include/SDL/SDL_getenv.h
1007B
simplest_ffmpeg_video_filter/include/SDL/SDL_joystick.h
5.58KB
simplest_ffmpeg_video_filter/include/SDL/SDL_keyboard.h
4.13KB
simplest_ffmpeg_video_filter/include/SDL/SDL_keysym.h
7.63KB
simplest_ffmpeg_video_filter/include/SDL/SDL_loadso.h
2.75KB
simplest_ffmpeg_video_filter/include/SDL/SDL_main.h
2.9KB
simplest_ffmpeg_video_filter/include/SDL/SDL_mouse.h
4.78KB
simplest_ffmpeg_video_filter/include/SDL/SDL_mutex.h
5.9KB
simplest_ffmpeg_video_filter/include/SDL/SDL_name.h
194B
simplest_ffmpeg_video_filter/include/SDL/SDL_opengl.h
335.07KB
simplest_ffmpeg_video_filter/include/SDL/SDL_platform.h
2.75KB
simplest_ffmpeg_video_filter/include/SDL/SDL_quit.h
2.02KB
simplest_ffmpeg_video_filter/include/SDL/SDL_rwops.h
4.99KB
simplest_ffmpeg_video_filter/include/SDL/SDL_stdinc.h
16.69KB
simplest_ffmpeg_video_filter/include/SDL/SDL_syswm.h
6.39KB
simplest_ffmpeg_video_filter/include/SDL/SDL_thread.h
4.25KB
simplest_ffmpeg_video_filter/include/SDL/SDL_timer.h
4.54KB
simplest_ffmpeg_video_filter/include/SDL/SDL_types.h
1007B
simplest_ffmpeg_video_filter/include/SDL/SDL_version.h
2.66KB
simplest_ffmpeg_video_filter/include/SDL/SDL_video.h
38.06KB
simplest_ffmpeg_video_filter/include/SDL/begin_code.h
5.3KB
simplest_ffmpeg_video_filter/include/SDL/close_code.h
1.49KB
simplest_ffmpeg_video_filter/include/_mingw.h
8.07KB
simplest_ffmpeg_video_filter/include/inttypes.h
5.86KB
simplest_ffmpeg_video_filter/include/libavcodec/
-
simplest_ffmpeg_video_filter/include/libavcodec/avcodec.h
176.49KB
simplest_ffmpeg_video_filter/include/libavcodec/avfft.h
3.15KB
simplest_ffmpeg_video_filter/include/libavcodec/dxva2.h
2.43KB
simplest_ffmpeg_video_filter/include/libavcodec/old_codec_ids.h
10.79KB
simplest_ffmpeg_video_filter/include/libavcodec/vaapi.h
4.08KB
simplest_ffmpeg_video_filter/include/libavcodec/vda.h
4.16KB
simplest_ffmpeg_video_filter/include/libavcodec/vdpau.h
6.26KB
simplest_ffmpeg_video_filter/include/libavcodec/version.h
5.62KB
simplest_ffmpeg_video_filter/include/libavcodec/xvmc.h
6.09KB
simplest_ffmpeg_video_filter/include/libavdevice/
-
simplest_ffmpeg_video_filter/include/libavdevice/avdevice.h
16.73KB
simplest_ffmpeg_video_filter/include/libavdevice/version.h
1.87KB
simplest_ffmpeg_video_filter/include/libavfilter/
-
simplest_ffmpeg_video_filter/include/libavfilter/asrc_abuffer.h
3.33KB
simplest_ffmpeg_video_filter/include/libavfilter/avcodec.h
3.8KB
simplest_ffmpeg_video_filter/include/libavfilter/avfilter.h
57.05KB
simplest_ffmpeg_video_filter/include/libavfilter/avfiltergraph.h
1003B
simplest_ffmpeg_video_filter/include/libavfilter/buffersink.h
7.56KB
simplest_ffmpeg_video_filter/include/libavfilter/buffersrc.h
4.94KB
simplest_ffmpeg_video_filter/include/libavfilter/version.h
3.51KB
simplest_ffmpeg_video_filter/include/libavformat/
-
simplest_ffmpeg_video_filter/include/libavformat/avformat.h
99.19KB
simplest_ffmpeg_video_filter/include/libavformat/avio.h
18.07KB
simplest_ffmpeg_video_filter/include/libavformat/version.h
2.84KB
simplest_ffmpeg_video_filter/include/libavutil/
-
simplest_ffmpeg_video_filter/include/libavutil/adler32.h
1.6KB
simplest_ffmpeg_video_filter/include/libavutil/aes.h
1.85KB
simplest_ffmpeg_video_filter/include/libavutil/attributes.h
4.29KB
simplest_ffmpeg_video_filter/include/libavutil/audio_fifo.h
4.46KB
simplest_ffmpeg_video_filter/include/libavutil/audioconvert.h
88B
simplest_ffmpeg_video_filter/include/libavutil/avassert.h
2.13KB
simplest_ffmpeg_video_filter/include/libavutil/avconfig.h
218B
simplest_ffmpeg_video_filter/include/libavutil/avstring.h
12.53KB
simplest_ffmpeg_video_filter/include/libavutil/avutil.h
8.69KB
simplest_ffmpeg_video_filter/include/libavutil/base64.h
2.1KB
simplest_ffmpeg_video_filter/include/libavutil/blowfish.h
2.33KB
simplest_ffmpeg_video_filter/include/libavutil/bprint.h
7.76KB
simplest_ffmpeg_video_filter/include/libavutil/bswap.h
2.94KB
simplest_ffmpeg_video_filter/include/libavutil/buffer.h
9.81KB
simplest_ffmpeg_video_filter/include/libavutil/channel_layout.h
9.1KB
simplest_ffmpeg_video_filter/include/libavutil/common.h
14.11KB
simplest_ffmpeg_video_filter/include/libavutil/cpu.h
4.73KB
simplest_ffmpeg_video_filter/include/libavutil/crc.h
2.8KB
simplest_ffmpeg_video_filter/include/libavutil/dict.h
6.53KB
simplest_ffmpeg_video_filter/include/libavutil/downmix_info.h
3.2KB
simplest_ffmpeg_video_filter/include/libavutil/error.h
4.76KB
simplest_ffmpeg_video_filter/include/libavutil/eval.h
5.29KB
simplest_ffmpeg_video_filter/include/libavutil/ffversion.h
132B
simplest_ffmpeg_video_filter/include/libavutil/fifo.h
4.69KB
simplest_ffmpeg_video_filter/include/libavutil/file.h
2.42KB
simplest_ffmpeg_video_filter/include/libavutil/frame.h
23.22KB
simplest_ffmpeg_video_filter/include/libavutil/hmac.h
2.9KB
simplest_ffmpeg_video_filter/include/libavutil/imgutils.h
7.86KB
simplest_ffmpeg_video_filter/include/libavutil/intfloat.h
1.76KB
simplest_ffmpeg_video_filter/include/libavutil/intfloat_readwrite.h
1.57KB
simplest_ffmpeg_video_filter/include/libavutil/intreadwrite.h
18.17KB
simplest_ffmpeg_video_filter/include/libavutil/lfg.h
2KB
simplest_ffmpeg_video_filter/include/libavutil/log.h
10.12KB
simplest_ffmpeg_video_filter/include/libavutil/lzo.h
2.06KB
simplest_ffmpeg_video_filter/include/libavutil/macros.h
1.22KB
simplest_ffmpeg_video_filter/include/libavutil/mathematics.h
5.22KB
simplest_ffmpeg_video_filter/include/libavutil/md5.h
1.99KB
simplest_ffmpeg_video_filter/include/libavutil/mem.h
14.4KB
simplest_ffmpeg_video_filter/include/libavutil/murmur3.h
1.22KB
simplest_ffmpeg_video_filter/include/libavutil/old_pix_fmts.h
14.24KB
simplest_ffmpeg_video_filter/include/libavutil/opt.h
34.92KB
simplest_ffmpeg_video_filter/include/libavutil/parseutils.h
7.26KB
simplest_ffmpeg_video_filter/include/libavutil/pixdesc.h
13.27KB
simplest_ffmpeg_video_filter/include/libavutil/pixfmt.h
27.98KB
simplest_ffmpeg_video_filter/include/libavutil/random_seed.h
1.41KB
simplest_ffmpeg_video_filter/include/libavutil/rational.h
4.25KB
simplest_ffmpeg_video_filter/include/libavutil/replaygain.h
1.62KB
simplest_ffmpeg_video_filter/include/libavutil/ripemd.h
2.05KB
simplest_ffmpeg_video_filter/include/libavutil/samplefmt.h
10.1KB
simplest_ffmpeg_video_filter/include/libavutil/sha.h
1.97KB
simplest_ffmpeg_video_filter/include/libavutil/sha512.h
2.05KB
simplest_ffmpeg_video_filter/include/libavutil/stereo3d.h
3.68KB
simplest_ffmpeg_video_filter/include/libavutil/time.h
1.29KB
simplest_ffmpeg_video_filter/include/libavutil/timecode.h
5.34KB
simplest_ffmpeg_video_filter/include/libavutil/timestamp.h
2.63KB
simplest_ffmpeg_video_filter/include/libavutil/version.h
4.52KB
simplest_ffmpeg_video_filter/include/libavutil/xtea.h
1.89KB
simplest_ffmpeg_video_filter/include/libpostproc/
-
simplest_ffmpeg_video_filter/include/libpostproc/postprocess.h
2.92KB
simplest_ffmpeg_video_filter/include/libpostproc/version.h
1.68KB
simplest_ffmpeg_video_filter/include/libswresample/
-
simplest_ffmpeg_video_filter/include/libswresample/swresample.h
11.85KB
simplest_ffmpeg_video_filter/include/libswresample/version.h
1.7KB
simplest_ffmpeg_video_filter/include/libswscale/
-
simplest_ffmpeg_video_filter/include/libswscale/swscale.h
12.32KB
simplest_ffmpeg_video_filter/include/libswscale/version.h
2.13KB
simplest_ffmpeg_video_filter/include/sdl/
-
simplest_ffmpeg_video_filter/include/sdl/SDL.h
3.26KB
simplest_ffmpeg_video_filter/include/sdl/SDL_active.h
1.95KB
simplest_ffmpeg_video_filter/include/sdl/SDL_audio.h
11.23KB
simplest_ffmpeg_video_filter/include/sdl/SDL_byteorder.h
1015B
simplest_ffmpeg_video_filter/include/sdl/SDL_cdrom.h
6.1KB
simplest_ffmpeg_video_filter/include/sdl/SDL_config.h
1.48KB
simplest_ffmpeg_video_filter/include/sdl/SDL_config_dreamcast.h
2.84KB
simplest_ffmpeg_video_filter/include/sdl/SDL_config_macos.h
2.84KB
simplest_ffmpeg_video_filter/include/sdl/SDL_config_macosx.h
4.24KB
simplest_ffmpeg_video_filter/include/sdl/SDL_config_minimal.h
2KB
simplest_ffmpeg_video_filter/include/sdl/SDL_config_nds.h
3.02KB
simplest_ffmpeg_video_filter/include/sdl/SDL_config_os2.h
3.69KB
simplest_ffmpeg_video_filter/include/sdl/SDL_config_symbian.h
3.18KB
simplest_ffmpeg_video_filter/include/sdl/SDL_config_win32.h
4.65KB
simplest_ffmpeg_video_filter/include/sdl/SDL_copying.h
891B
simplest_ffmpeg_video_filter/include/sdl/SDL_cpuinfo.h
2.24KB
simplest_ffmpeg_video_filter/include/sdl/SDL_endian.h
6.12KB
simplest_ffmpeg_video_filter/include/sdl/SDL_error.h
1.9KB
simplest_ffmpeg_video_filter/include/sdl/SDL_events.h
13.08KB
simplest_ffmpeg_video_filter/include/sdl/SDL_getenv.h
1007B
simplest_ffmpeg_video_filter/include/sdl/SDL_joystick.h
5.58KB
simplest_ffmpeg_video_filter/include/sdl/SDL_keyboard.h
4.13KB
simplest_ffmpeg_video_filter/include/sdl/SDL_keysym.h
7.63KB
simplest_ffmpeg_video_filter/include/sdl/SDL_loadso.h
2.75KB
simplest_ffmpeg_video_filter/include/sdl/SDL_main.h
2.9KB
simplest_ffmpeg_video_filter/include/sdl/SDL_mouse.h
4.78KB
simplest_ffmpeg_video_filter/include/sdl/SDL_mutex.h
5.9KB
simplest_ffmpeg_video_filter/include/sdl/SDL_name.h
194B
simplest_ffmpeg_video_filter/include/sdl/SDL_opengl.h
335.07KB
simplest_ffmpeg_video_filter/include/sdl/SDL_platform.h
2.75KB
simplest_ffmpeg_video_filter/include/sdl/SDL_quit.h
2.02KB
simplest_ffmpeg_video_filter/include/sdl/SDL_rwops.h
4.99KB
simplest_ffmpeg_video_filter/include/sdl/SDL_stdinc.h
16.69KB
simplest_ffmpeg_video_filter/include/sdl/SDL_syswm.h
6.39KB
simplest_ffmpeg_video_filter/include/sdl/SDL_thread.h
4.25KB
simplest_ffmpeg_video_filter/include/sdl/SDL_timer.h
4.54KB
simplest_ffmpeg_video_filter/include/sdl/SDL_types.h
1007B
simplest_ffmpeg_video_filter/include/sdl/SDL_version.h
2.66KB
simplest_ffmpeg_video_filter/include/sdl/SDL_video.h
38.06KB
simplest_ffmpeg_video_filter/include/sdl/begin_code.h
5.3KB
simplest_ffmpeg_video_filter/include/sdl/close_code.h
1.49KB
simplest_ffmpeg_video_filter/include/stdint.h
5.99KB
simplest_ffmpeg_video_filter/lib/
-
simplest_ffmpeg_video_filter/lib/SDL.lib
41.53KB
simplest_ffmpeg_video_filter/lib/SDLmain.lib
8.02KB
simplest_ffmpeg_video_filter/lib/avcodec.lib
218.52KB
simplest_ffmpeg_video_filter/lib/avdevice.lib
9.22KB
simplest_ffmpeg_video_filter/lib/avfilter.lib
66.06KB
simplest_ffmpeg_video_filter/lib/avformat.lib
122.13KB
simplest_ffmpeg_video_filter/lib/avutil.lib
320.93KB
simplest_ffmpeg_video_filter/lib/postproc.lib
8.03KB
simplest_ffmpeg_video_filter/lib/swresample.lib
75.54KB
simplest_ffmpeg_video_filter/lib/swscale.lib
27.8KB
simplest_ffmpeg_video_filter/my_logo.png
12.35KB
simplest_ffmpeg_video_filter/postproc-52.dll
118.5KB
simplest_ffmpeg_video_filter/simplest_ffmpeg_video_filter.cpp
8.76KB
simplest_ffmpeg_video_filter/simplest_ffmpeg_video_filter.vcxproj
5.06KB
simplest_ffmpeg_video_filter/simplest_ffmpeg_video_filter.vcxproj.filters
1.01KB
simplest_ffmpeg_video_filter/simplest_ffmpeg_video_filter.vcxproj.user
384B
simplest_ffmpeg_video_filter/stderr.txt
-
simplest_ffmpeg_video_filter/stdout.txt
-
simplest_ffmpeg_video_filter/swresample-0.dll
269.5KB
simplest_ffmpeg_video_filter/swscale-2.dll
424KB
simplest_ffmpeg_video_filter_pure/
-
simplest_ffmpeg_video_filter_pure/.gitignore
81B
simplest_ffmpeg_video_filter_pure/arial.ttf
893.76KB
simplest_ffmpeg_video_filter_pure/avcodec-55.dll
18.06MB
simplest_ffmpeg_video_filter_pure/avdevice-55.dll
1.28MB
simplest_ffmpeg_video_filter_pure/avfilter-4.dll
1.94MB
simplest_ffmpeg_video_filter_pure/avformat-55.dll
5.1MB
simplest_ffmpeg_video_filter_pure/avutil-52.dll
408.5KB
simplest_ffmpeg_video_filter_pure/compile_cl.bat
275B
simplest_ffmpeg_video_filter_pure/compile_gcc.sh
162B
simplest_ffmpeg_video_filter_pure/compile_mingw.sh
162B
simplest_ffmpeg_video_filter_pure/include/
-
simplest_ffmpeg_video_filter_pure/include/_mingw.h
8.07KB
simplest_ffmpeg_video_filter_pure/include/inttypes.h
5.86KB
simplest_ffmpeg_video_filter_pure/include/libavcodec/
-
simplest_ffmpeg_video_filter_pure/include/libavcodec/avcodec.h
176.49KB
simplest_ffmpeg_video_filter_pure/include/libavcodec/avfft.h
3.15KB
simplest_ffmpeg_video_filter_pure/include/libavcodec/dxva2.h
2.43KB
simplest_ffmpeg_video_filter_pure/include/libavcodec/old_codec_ids.h
10.79KB
simplest_ffmpeg_video_filter_pure/include/libavcodec/vaapi.h
4.08KB
simplest_ffmpeg_video_filter_pure/include/libavcodec/vda.h
4.16KB
simplest_ffmpeg_video_filter_pure/include/libavcodec/vdpau.h
6.26KB
simplest_ffmpeg_video_filter_pure/include/libavcodec/version.h
5.62KB
simplest_ffmpeg_video_filter_pure/include/libavcodec/xvmc.h
6.09KB
simplest_ffmpeg_video_filter_pure/include/libavfilter/
-
simplest_ffmpeg_video_filter_pure/include/libavfilter/asrc_abuffer.h
3.33KB
simplest_ffmpeg_video_filter_pure/include/libavfilter/avcodec.h
3.8KB
simplest_ffmpeg_video_filter_pure/include/libavfilter/avfilter.h
57.05KB
simplest_ffmpeg_video_filter_pure/include/libavfilter/avfiltergraph.h
1003B
simplest_ffmpeg_video_filter_pure/include/libavfilter/buffersink.h
7.56KB
simplest_ffmpeg_video_filter_pure/include/libavfilter/buffersrc.h
4.94KB
simplest_ffmpeg_video_filter_pure/include/libavfilter/version.h
3.51KB
simplest_ffmpeg_video_filter_pure/include/libavutil/
-
simplest_ffmpeg_video_filter_pure/include/libavutil/adler32.h
1.6KB
simplest_ffmpeg_video_filter_pure/include/libavutil/aes.h
1.85KB
simplest_ffmpeg_video_filter_pure/include/libavutil/attributes.h
4.29KB
simplest_ffmpeg_video_filter_pure/include/libavutil/audio_fifo.h
4.46KB
simplest_ffmpeg_video_filter_pure/include/libavutil/audioconvert.h
88B
simplest_ffmpeg_video_filter_pure/include/libavutil/avassert.h
2.13KB
simplest_ffmpeg_video_filter_pure/include/libavutil/avconfig.h
218B
simplest_ffmpeg_video_filter_pure/include/libavutil/avstring.h
12.53KB
simplest_ffmpeg_video_filter_pure/include/libavutil/avutil.h
8.69KB
simplest_ffmpeg_video_filter_pure/include/libavutil/base64.h
2.1KB
simplest_ffmpeg_video_filter_pure/include/libavutil/blowfish.h
2.33KB
simplest_ffmpeg_video_filter_pure/include/libavutil/bprint.h
7.76KB
simplest_ffmpeg_video_filter_pure/include/libavutil/bswap.h
2.94KB
simplest_ffmpeg_video_filter_pure/include/libavutil/buffer.h
9.81KB
simplest_ffmpeg_video_filter_pure/include/libavutil/channel_layout.h
9.1KB
simplest_ffmpeg_video_filter_pure/include/libavutil/common.h
14.11KB
simplest_ffmpeg_video_filter_pure/include/libavutil/cpu.h
4.73KB
simplest_ffmpeg_video_filter_pure/include/libavutil/crc.h
2.8KB
simplest_ffmpeg_video_filter_pure/include/libavutil/dict.h
6.53KB
simplest_ffmpeg_video_filter_pure/include/libavutil/downmix_info.h
3.2KB
simplest_ffmpeg_video_filter_pure/include/libavutil/error.h
4.76KB
simplest_ffmpeg_video_filter_pure/include/libavutil/eval.h
5.29KB
simplest_ffmpeg_video_filter_pure/include/libavutil/ffversion.h
132B
simplest_ffmpeg_video_filter_pure/include/libavutil/fifo.h
4.69KB
simplest_ffmpeg_video_filter_pure/include/libavutil/file.h
2.42KB
simplest_ffmpeg_video_filter_pure/include/libavutil/frame.h
23.22KB
simplest_ffmpeg_video_filter_pure/include/libavutil/hmac.h
2.9KB
simplest_ffmpeg_video_filter_pure/include/libavutil/imgutils.h
7.86KB
simplest_ffmpeg_video_filter_pure/include/libavutil/intfloat.h
1.76KB
simplest_ffmpeg_video_filter_pure/include/libavutil/intfloat_readwrite.h
1.57KB
simplest_ffmpeg_video_filter_pure/include/libavutil/intreadwrite.h
18.17KB
simplest_ffmpeg_video_filter_pure/include/libavutil/lfg.h
2KB
simplest_ffmpeg_video_filter_pure/include/libavutil/log.h
10.12KB
simplest_ffmpeg_video_filter_pure/include/libavutil/lzo.h
2.06KB
simplest_ffmpeg_video_filter_pure/include/libavutil/macros.h
1.22KB
simplest_ffmpeg_video_filter_pure/include/libavutil/mathematics.h
5.22KB
simplest_ffmpeg_video_filter_pure/include/libavutil/md5.h
1.99KB
simplest_ffmpeg_video_filter_pure/include/libavutil/mem.h
14.4KB
simplest_ffmpeg_video_filter_pure/include/libavutil/murmur3.h
1.22KB
simplest_ffmpeg_video_filter_pure/include/libavutil/old_pix_fmts.h
14.24KB
simplest_ffmpeg_video_filter_pure/include/libavutil/opt.h
34.92KB
simplest_ffmpeg_video_filter_pure/include/libavutil/parseutils.h
7.26KB
simplest_ffmpeg_video_filter_pure/include/libavutil/pixdesc.h
13.27KB
simplest_ffmpeg_video_filter_pure/include/libavutil/pixfmt.h
27.98KB
simplest_ffmpeg_video_filter_pure/include/libavutil/random_seed.h
1.41KB
simplest_ffmpeg_video_filter_pure/include/libavutil/rational.h
4.25KB
simplest_ffmpeg_video_filter_pure/include/libavutil/replaygain.h
1.62KB
simplest_ffmpeg_video_filter_pure/include/libavutil/ripemd.h
2.05KB
simplest_ffmpeg_video_filter_pure/include/libavutil/samplefmt.h
10.1KB
simplest_ffmpeg_video_filter_pure/include/libavutil/sha.h
1.97KB
simplest_ffmpeg_video_filter_pure/include/libavutil/sha512.h
2.05KB
simplest_ffmpeg_video_filter_pure/include/libavutil/stereo3d.h
3.68KB
simplest_ffmpeg_video_filter_pure/include/libavutil/time.h
1.29KB
simplest_ffmpeg_video_filter_pure/include/libavutil/timecode.h
5.34KB
simplest_ffmpeg_video_filter_pure/include/libavutil/timestamp.h
2.63KB
simplest_ffmpeg_video_filter_pure/include/libavutil/version.h
4.52KB
simplest_ffmpeg_video_filter_pure/include/libavutil/xtea.h
1.89KB
simplest_ffmpeg_video_filter_pure/include/stdint.h
5.99KB
simplest_ffmpeg_video_filter_pure/lib/
-
simplest_ffmpeg_video_filter_pure/lib/avfilter.lib
66.06KB
simplest_ffmpeg_video_filter_pure/lib/avutil.lib
320.93KB
simplest_ffmpeg_video_filter_pure/postproc-52.dll
118.5KB
simplest_ffmpeg_video_filter_pure/simplest_ffmpeg_video_filter_pure.cpp
5.85KB
simplest_ffmpeg_video_filter_pure/simplest_ffmpeg_video_filter_pure.vcxproj
4.38KB
simplest_ffmpeg_video_filter_pure/simplest_ffmpeg_video_filter_pure.vcxproj.filters
971B
simplest_ffmpeg_video_filter_pure/simplest_ffmpeg_video_filter_pure.vcxproj.user
143B
simplest_ffmpeg_video_filter_pure/sintel_480x272_yuv420p.yuv
23.35MB
simplest_ffmpeg_video_filter_pure/swresample-0.dll
269.5KB
simplest_ffmpeg_video_filter_pure/swscale-2.dll
424KB

资源内容介绍

本程序使用包含下面两个项目:simplest_ffmpeg_video_filter:可以将一张PNG图片作为水印叠加到视频上,结合使用了libavfilter,libavcodec等类库。simplest_ffmpeg_video_filter_pure:可以给YUV像素数据加特效,只用了libavfilter库。
/** * 最简单的基于FFmpeg的AVFilter例子(叠加水印) * Simplest FFmpeg AVfilter Example (Watermark) * * 雷霄骅 Lei Xiaohua * leixiaohua1020@126.com * 中国传媒大学/数字电视技术 * Communication University of China / Digital TV Technology * http://blog.csdn.net/leixiaohua1020 * * 本程序使用FFmpeg的AVfilter实现了视频的水印叠加功能。 * 可以将一张PNG图片作为水印叠加到视频上。 * 是最简单的FFmpeg的AVFilter方面的教程。 * 适合FFmpeg的初学者。 * * This software uses FFmpeg's AVFilter to add watermark in a video file. * It can add a PNG format picture as watermark to a video file. * It's the simplest example based on FFmpeg's AVFilter. * Suitable for beginner of FFmpeg * */#include <stdio.h>#define __STDC_CONSTANT_MACROS#ifdef _WIN32#define snprintf _snprintf//Windowsextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libavfilter/avfiltergraph.h"#include "libavfilter/avcodec.h"#include "libavfilter/buffersink.h"#include "libavfilter/buffersrc.h"#include "libavutil/avutil.h"#include "libswscale/swscale.h"#include "SDL/SDL.h"};#else//Linux...#ifdef __cplusplusextern "C"{#endif#include <libavcodec/avcodec.h>#include <libavformat/avformat.h>#include <libavfilter/avfiltergraph.h>#include <libavfilter/avcodec.h>#include <libavfilter/buffersink.h>#include <libavfilter/buffersrc.h>#include <libavutil/avutil.h>#include <libswscale/swscale.h>#include <SDL/SDL.h>#ifdef __cplusplus};#endif#endif//Enable SDL?#define ENABLE_SDL 1//Output YUV data?#define ENABLE_YUVFILE 1const char *filter_descr = "movie=my_logo.png[wm];[in][wm]overlay=5:5[out]";static AVFormatContext *pFormatCtx;static AVCodecContext *pCodecCtx;AVFilterContext *buffersink_ctx;AVFilterContext *buffersrc_ctx;AVFilterGraph *filter_graph;static int video_stream_index = -1;static int open_input_file(const char *filename){ int ret; AVCodec *dec; if ((ret = avformat_open_input(&pFormatCtx, filename, NULL, NULL)) < 0) { printf( "Cannot open input file\n"); return ret; } if ((ret = avformat_find_stream_info(pFormatCtx, NULL)) < 0) { printf( "Cannot find stream information\n"); return ret; } ret = av_find_best_stream(pFormatCtx, AVMEDIA_TYPE_VIDEO, -1, -1, &dec, 0); if (ret < 0) { printf( "Cannot find a video stream in the input file\n"); return ret; } video_stream_index = ret; pCodecCtx = pFormatCtx->streams[video_stream_index]->codec; if ((ret = avcodec_open2(pCodecCtx, dec, NULL)) < 0) { printf( "Cannot open video decoder\n"); return ret; } return 0;}static int init_filters(const char *filters_descr){ char args[512]; int ret; AVFilter *buffersrc = avfilter_get_by_name("buffer"); AVFilter *buffersink = avfilter_get_by_name("ffbuffersink"); AVFilterInOut *outputs = avfilter_inout_alloc(); AVFilterInOut *inputs = avfilter_inout_alloc(); enum PixelFormat pix_fmts[] = { PIX_FMT_YUV420P, PIX_FMT_NONE }; AVBufferSinkParams *buffersink_params; filter_graph = avfilter_graph_alloc(); snprintf(args, sizeof(args), "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d", pCodecCtx->width, pCodecCtx->height, pCodecCtx->pix_fmt, pCodecCtx->time_base.num, pCodecCtx->time_base.den, pCodecCtx->sample_aspect_ratio.num, pCodecCtx->sample_aspect_ratio.den); ret = avfilter_graph_create_filter(&buffersrc_ctx, buffersrc, "in", args, NULL, filter_graph); if (ret < 0) { printf("Cannot create buffer source\n"); return ret; } buffersink_params = av_buffersink_params_alloc(); buffersink_params->pixel_fmts = pix_fmts; ret = avfilter_graph_create_filter(&buffersink_ctx, buffersink, "out", NULL, buffersink_params, filter_graph); av_free(buffersink_params); if (ret < 0) { printf("Cannot create buffer sink\n"); return ret; } outputs->name = av_strdup("in"); outputs->filter_ctx = buffersrc_ctx; outputs->pad_idx = 0; outputs->next = NULL; inputs->name = av_strdup("out"); inputs->filter_ctx = buffersink_ctx; inputs->pad_idx = 0; inputs->next = NULL; if ((ret = avfilter_graph_parse_ptr(filter_graph, filters_descr, &inputs, &outputs, NULL)) < 0) return ret; if ((ret = avfilter_graph_config(filter_graph, NULL)) < 0) return ret; return 0;}int main(int argc, char* argv[]){ int ret; AVPacket packet; AVFrame frame; int got_frame; av_register_all(); avfilter_register_all(); if ((ret = open_input_file("cuc_ieschool.flv")) < 0) goto end; if ((ret = init_filters(filter_descr)) < 0) goto end;#if ENABLE_YUVFILEFILE *fp_yuv=fopen("test.yuv","wb+");#endif#if ENABLE_SDLSDL_Surface *screen; SDL_Overlay *bmp; SDL_Rect rect;if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER)) { printf( "Could not initialize SDL - %s\n", SDL_GetError()); return -1;} screen = SDL_SetVideoMode(pCodecCtx->width, pCodecCtx->height, 0, 0);if(!screen) { printf("SDL: could not set video mode - exiting\n"); return -1;}bmp = SDL_CreateYUVOverlay(pCodecCtx->width, pCodecCtx->height,SDL_YV12_OVERLAY, screen); SDL_WM_SetCaption("Simplest FFmpeg Video Filter",NULL);#endif while (1) { AVFilterBufferRef *picref;ret = av_read_frame(pFormatCtx, &packet); if (ret< 0) break; if (packet.stream_index == video_stream_index) { avcodec_get_frame_defaults(&frame); got_frame = 0; ret = avcodec_decode_video2(pCodecCtx, &frame, &got_frame, &packet); if (ret < 0) { printf( "Error decoding video\n"); break; } if (got_frame) { frame.pts = av_frame_get_best_effort_timestamp(&frame); if (av_buffersrc_add_frame(buffersrc_ctx, &frame) < 0) { printf( "Error while feeding the filtergraph\n"); break; } while (1) { ret = av_buffersink_get_buffer_ref(buffersink_ctx, &picref, 0); if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) break; if (ret < 0) goto end; if (picref) {#if ENABLE_YUVFILE//Y, U, Vfor(int i=0;i<picref->video->h;i++){fwrite(picref->data[0]+picref->linesize[0]*i,1,picref->video->w,fp_yuv);}for(int i=0;i<picref->video->h/2;i++){fwrite(picref->data[1]+picref->linesize[1]*i,1,picref->video->w/2,fp_yuv);}for(int i=0;i<picref->video->h/2;i++){fwrite(picref->data[2]+picref->linesize[2]*i,1,picref->video->w/2,fp_yuv);}#endif#if ENABLE_SDLSDL_LockYUVOverlay(bmp);int y_size=picref->video->w*picref->video->h;memcpy(bmp->pixels[0],picref->data[0],y_size); //Ymemcpy(bmp->pixels[2],picref->data[1],y_size/4); //Umemcpy(bmp->pixels[1],picref->data[2],y_s

用户评论 (0)

发表评论

captcha