CCExtractor / rusty_ffmpeg

FFI bindings for FFmpeg inner libraries.
https://crates.io/crates/rusty_ffmpeg
MIT License
164 stars 26 forks source link

An error is always reported when attempting to compile examples/slice. #97

Closed yunfengwangluo closed 1 year ago

yunfengwangluo commented 1 year ago

Compiling vcpkg v0.2.15 Compiling rusty_ffmpeg v0.13.1+ffmpeg.6.0
error: failed to run custom build command for rusty_ffmpeg v0.13.1+ffmpeg.6.0

ldm0 commented 1 year ago

Please post a detailed error log.

yunfengwangluo commented 1 year ago

PS C:\Users\Administrator\Downloads\rusty_ffmpeg-master> cargo build Compiling rusty_ffmpeg v0.13.1+ffmpeg.6.0 (C:\Users\Administrator\Downloads\rusty_ffmpeg-master) error: failed to run custom build command for rusty_ffmpeg v0.13.1+ffmpeg.6.0 (C:\Users\Administrator\Downloads\rusty_ffmpeg-master)

Caused by: process didn't exit successfully: C:\Users\Administrator\Downloads\rusty_ffmpeg-master\target\debug\build\rusty_ffmpeg-90e893a5e4d48f3b\build-script-build (exit code: 101) --- stdout cargo:rerun-if-env-changed=DOCS_RS cargo:rerun-if-env-changed=OUT_DIR cargo:rerun-if-env-changed=FFMPEG_INCLUDE_DIR cargo:rerun-if-env-changed=FFMPEG_DLL_PATH cargo:rerun-if-env-changed=FFMPEG_PKG_CONFIG_PATH cargo:rerun-if-env-changed=FFMPEG_LIBS_DIR cargo:rerun-if-env-changed=FFMPEG_BINDING_PATH

--- stderr thread 'main' panicked at 'called Result::unwrap() on an Err value: NotMSVC', build.rs:244:14 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

ldm0 commented 1 year ago

The NotMSVC error originates from vcpkg-rs. Please check if your target triplet ends with -pc-windows-msvc.

yunfengwangluo commented 1 year ago

Compiling rusty_ffmpeg v0.13.1+ffmpeg.6.0 (C:\Users\Administrator\Downloads\rusty_ffmpeg-master) error: failed to run custom build command for rusty_ffmpeg v0.13.1+ffmpeg.6.0 (C:\Users\Administrator\Downloads\rusty_ffmpeg-master)

Caused by: process didn't exit successfully: C:\Users\Administrator\Downloads\rusty_ffmpeg-master\target\debug\build\rusty_ffmpeg-88de6aa6c26940e3\build-script-build (exit code: 101) --- stdout cargo:rerun-if-env-changed=DOCS_RS cargo:rerun-if-env-changed=OUT_DIR cargo:rerun-if-env-changed=FFMPEG_INCLUDE_DIR cargo:rerun-if-env-changed=FFMPEG_DLL_PATH cargo:rerun-if-env-changed=FFMPEG_PKG_CONFIG_PATH cargo:rerun-if-env-changed=FFMPEG_LIBS_DIR cargo:rerun-if-env-changed=FFMPEG_BINDING_PATH

--- stderr thread 'main' panicked at 'called Result::unwrap() on an Err value: LibNotFound("package ffmpeg is not installed for vcpkg triplet x64-windows-static-md")', build.rs:244:14 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace


C:\src\vcpkg\packages\ffmpeg_x64-windows
I have generated this, but I am not sure if it is the file required for this information.

ldm0 commented 1 year ago

C:\src\vcpkg\packages\ffmpeg_x64-windows I have generated this, but I am not sure if it is the file required for this information.

run vcpkg.exe install ffmpeg:x64-windows-static-md and try again

yunfengwangluo commented 1 year ago

Compiling rusty_ffmpeg v0.13.1+ffmpeg.6.0 (C:\Users\Administrator\Downloads\rusty_ffmpeg-master) error: failed to run custom build command for rusty_ffmpeg v0.13.1+ffmpeg.6.0 (C:\Users\Administrator\Downloads\rusty_ffmpeg-master)

Caused by: process didn't exit successfully: C:\Users\Administrator\Downloads\rusty_ffmpeg-master\target\debug\build\rusty_ffmpeg-88de6aa6c26940e3\build-script-build (exit code: 101) --- stdout cargo:rerun-if-env-changed=DOCS_RS cargo:rerun-if-env-changed=OUT_DIR cargo:rerun-if-env-changed=FFMPEG_INCLUDE_DIR cargo:rerun-if-env-changed=FFMPEG_DLL_PATH cargo:rerun-if-env-changed=FFMPEG_PKG_CONFIG_PATH cargo:rerun-if-env-changed=FFMPEG_LIBS_DIR cargo:rerun-if-env-changed=FFMPEG_BINDING_PATH cargo:rustc-link-search=native=C:\src\vcpkg\installed\x64-windows-static-md\lib cargo:rustc-link-lib=avdevice cargo:rustc-link-lib=avfilter cargo:rustc-link-lib=avformat cargo:rustc-link-lib=avcodec cargo:rustc-link-lib=swresample cargo:rustc-link-lib=swscale cargo:rustc-link-lib=avutil

--- stderr thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shared libraries matching: ['clang.dll', 'libclang.dll'], set the LIBCLANG_PATH environment variable to a path where one of these files can be found (invalid: [])"', C:\Users\Administrator.cargo\registry\src\mirrors.ustc.edu.cn-61ef6e0cd06fb9b8\bindgen-0.64.0./lib.rs:2393:31 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

The 'vcpkg. exe install ffmpeg: x64 windows static md' has been completed, and there have been new issues with the 'cargo build'.

ldm0 commented 1 year ago

Please install LLVM and set LIBCLANG_PATH to directory path containing libclang.dll or clang.dll.

yunfengwangluo commented 1 year ago

The compilation is completed smoothly but cannot run smoothly. I will copy the files under "examples slice" to a new project. And added "dependencies" (trusty_ffmpeg="0.13.1+ffmpeg. 6.0"), which encountered an error during the compilation process.

PS C:\Users\Administrator\Desktop\dd\tt1> cargo build warning: version requirement0.13.1+ffmpeg.6.0for dependencyrusty_ffmpegincludes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion Compiling tt1 v0.1.0 (C:\Users\Administrator\Desktop\dd\tt1) error: linking withlink.exe` failed: exit code: 1120 | = note: "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX64\x64\link.exe" "/NOLOGO" "C:\Users\Administrator\AppData\Local\Temp\rustcIFxkOl\symbols.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.15il6u8venwpbnki.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.17kseoraz3e0oypl.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.1bq1cq6ow0yfxmd.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.1e99oo9r2fdpc201.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.1edfih9kbtj7rd5a.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.1hj9ulr7q7s7qrl0.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.1jmzdg4r2t1vjpg9.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.1q4j4nme4q3o7yky.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.1ucjg7p5chfp6omq.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.1ygkspnnu7frgb3v.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.23jy5w776iw1jxdw.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.24qtjetr9w4xgoa.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.2cgergrt2kifyy8w.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.2gqdh3oudwouhda1.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.2irgq2bi6p51t95e.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.2ty9wf296w5gifxf.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.377zcp6swxlb8n7d.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.3c1veijdrzspz3gc.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.3d2ci360xnev25kd.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.3f4hlr5e6g1faxby.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.3tmxvxuo972orglc.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.3w4s8notuul5rkaz.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.3y5hxz5y6vx594sb.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.3y6p65f1g6sso6s1.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.44zbhkbdhqsnzcdj.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.468e7tu0p8dfn406.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.46i82igjboi9dq4l.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.46rgluwicbn8zcmy.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.4g8k4zrs83080bbk.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.4q5qt8sdr5u3hlfj.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.4twiopabz3jqayze.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.4xqw73xagdprk5de.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.53conf4pa2gy0vex.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.53wopjinjjhg7ed9.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.56982uiima6excx2.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.5dh6keoqezlrwi4e.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.87xisiwcjivff66.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.hlfzjss80syn1tx.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.ivqwze3mqkau9uy.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.jijnurn144312l8.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.oyigluhwloozghj.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.rslp4h2blw3fwhw.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.vvq7ava4f9ew9a2.rcgu.o" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.1fzmuov4tqchedse.rcgu.o" "/LIBPATH:C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps" "/LIBPATH:C:\src\vcpkg\installed\x64-windows-static-md\lib" "/LIBPATH:C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\librusty_ffmpeg-c598f2a174556711.rlib" "C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\liblibc-6dd16a07e849f54f.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-43ecf4bdbb5e1e31.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-03eee9fc7fe44114.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-f350829ea004292f.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd_detect-52475675c4d47720.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-d28662d15d021313.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libminiz_oxide-f5a9ba230b395602.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libadler-adcc534ee710b11e.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-75e91ab7163af4fe.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-6c926cb6aa5ed58c.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-b2a86741ec07ae31.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-ecdbc3c93c11f60c.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-39d88c9804b36d9f.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-2e112df156ffddae.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-bd7106b7f2a04ee0.rlib" "C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-d62a26418f17519a.rlib" "avdevice.lib" "avfilter.lib" "avformat.lib" "avcodec.lib" "swresample.lib" "swscale.lib" "avutil.lib" "legacy_stdio_definitions.lib" "kernel32.lib" "advapi32.lib" "userenv.lib" "kernel32.lib" "ws2_32.lib" "bcrypt.lib" "msvcrt.lib" "legacy_stdio_definitions.lib" "/NXCOMPAT" "/LIBPATH:C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "/OUT:C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.exe" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/NATVIS:C:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libstd.natvis" = note: avformat.lib(tls_schannel.o) : error LNK2019: unresolved external symbol AcquireCredentialsHandleA referenced in function tls_open avformat.lib(tls_schannel.o) : error LNK2019: unresolved external symbol imp_FreeCredentialsHandle referenced in function tls_close avformat.lib(tls_schannel.o) : error LNK2019: unresolved external symbol InitializeSecurityContextA referenced in function tls_close avformat.lib(tls_schannel.o) : error LNK2019: unresolved external symbol __imp_DeleteSecurityContext referenced in function tls_close avformat.lib(tls_schannel.o) : error LNK2019: unresolved external symbol imp_ApplyControlToken referenced in function tls_close avformat.lib(tls_schannel.o) : error LNK2019: unresolved external symbol QueryContextAttributesA referenced in function tls_write avformat.lib(tls_schannel.o) : error LNK2019: unresolved external symbol FreeContextBuffer referenced in function tls_close avformat.lib(tls_schannel.o) : error LNK2019: unresolved external symbol EncryptMessage referenced in function tls_write avformat.lib(tls_schannel.o) : error LNK2019: unresolved external symbol DecryptMessage referenced in function tls_read avcodec.lib(mfenc.o) : error LNK2001: unresolved external symbol IID_ICodecAPI avcodec.lib(mfenc.o) : error LNK2001: unresolved external symbol IID_IMFMediaEventGenerator avcodec.lib(mf_utils.o) : error LNK2019: unresolved external symbol imp_CoUninitialize referenced in function ff_free_mf avcodec.lib(mf_utils.o) : error LNK2019: unresolved external symbol imp_CoInitializeEx referenced in function ff_instantiate_mf avcodec.lib(mf_utils.o) : error LNK2019: unresolved external symbol __imp_CoTaskMemFree referenced in function ff_instantiate_mf avcodec.lib(dxva2.o) : error LNK2001: unresolved external symbol imp_CoTaskMemFree avcodec.lib(mf_utils.o) : error LNK2001: unresolved external symbol IID_IMFTransform avutil.lib(hwcontext_dxva2.o) : error LNK2019: unresolved external symbol imp_GetDesktopWindow referenced in function dxva2_device_create C:\Users\Administrator\Desktop\dd\tt1\target\debug\deps\tt1.exe : fatal error LNK1120: 16 unresolved externals

error: could not compile tt1 due to previous error `

ldm0 commented 1 year ago

Please try https://github.com/CCExtractor/rusty_ffmpeg/pull/37#issuecomment-873409982

yunfengwangluo commented 1 year ago

initializing all the containers, codecs and protocols. opening the input file (.\bear.mp4) and loading format (container) header [mov,mp4,m4a,3gp,3g2,mj2 @ 000001C14CA6BB80] stream 0, timescale not set format mov,mp4,m4a,3gp,3g2,mj2, duration 6436461000 us, bit_rate 0 finding stream info from format [mov,mp4,m4a,3gp,3g2,mj2 @ 000001C14CA6BB80] Could not find codec parameters for stream 2 (Video: png, none): unspecified size Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options AVStream->time_base before open coded 1/90000 AVStream->r_frame_rate before open coded 24/1 AVStream->start_time 5220 AVStream->duration 579276127 finding the proper decoder (CODEC) Video Codec: resolution 1920 x 966 Codec h264 ID 27 bit_rate 1110023 AVStream->time_base before open coded 1/48000 AVStream->r_frame_rate before open coded 0/0 AVStream->start_time 0 AVStream->duration 308950116 finding the proper decoder (CODEC) Audio Codec: 2 channels, sample rate 48000 Codec aac ID 86018 bit_rate 92976 AVStream->time_base before open coded 1/90000 AVStream->r_frame_rate before open coded 90000/1 AVStream->start_time 0 AVStream->duration 579281490 finding the proper decoder (CODEC) thread 'main' panicked at 'ERROR unsupported codec!', src\main.rs:83:18 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace


I replaced bear. mp4

Is this situation already considered a successful compilation. The only remaining issue is video encoding!

ldm0 commented 1 year ago

Is this situation already considered a successful compilation. The only remaining issue is video encoding!

Yep, the complation succeed. You can change included codec by tweaking features in vcpkg FFmpeg, or build your own FFmpeg without vcpkg. That's a far more complex topic.

You can also check rsmpeg if you want safer method.

ldm0 commented 1 year ago

Feel free to open another issue if you encounter any other problem.