I have a video file in the project folder that is detected by the app as VideoPlayer(player: AVPlayer(url: url))
does make use of it and play it on the iPhone screen, I have the video path of simply videoURL = Bundle.main.url(forResource: "Earth_Zoom_In", withExtension: "mov")
Now, a kind gentleman gave me this code just yesterday:
func syncCommand() {
guard let session = FFmpegKit.execute("-i Earth_Zoom_In.mov -c:v file1.mp4") else {
print("!! Failed to create session")
return
}
let returnCode = session.getReturnCode()
if ReturnCode.isSuccess(returnCode) {
print("COOOOL");
} else if ReturnCode.isCancel(returnCode) {
print("CANCELED???? WHAT?????");
} else {
print("Command failed with state \(FFmpegKitConfig.sessionState(toString: session.getState()) ?? "Unknown") and rc \(returnCode?.description ?? "Unknown").\(session.getFailStackTrace() ?? "Unknown")")
}
}
But Ffmpeg seems to not find the file as when the function is executed I get ERROR: Earth_Zoom_In.mov: No such file or directory
But it is on the directory...
Can anyone help me with that? please.
I have tried:
guard let session = FFmpegKit.execute("-i \(url) -c:v file1.mp4") else {
inside of syncCommand(url: URL?)
and change the code in my init
to init() {
videoURL = Bundle.main.url(forResource: "Earth_Zoom_In", withExtension: "mov")
syncCommand(url: videoURL);
}
so video URL is on scope... but again, the same error, just with a complete path this time...
WARNING: Trailing option(s) found in the command: may be ignored.
2022-06-19 22:25:08.541915-0500 videommm[7736:217682] ERROR: Optional(file:///Users/homefolder/Library/Developer/CoreSimulator/Devices/2FE26EEA-A16A-4DAA-A38E-D003C678A3A2/data/Containers/Bundle/Application/374A618D-37CB-4AC2-92E6-BD3D22185EA4/videommm.app/Earth_Zoom_In.mov): No such file or directory
In case you were wondering about my file structure:
ENTIRE ERROR LOG AFTER I TRIED
guard let input = Bundle.main.url(forResource: "Earth_Zoom_In", withExtension: "mov") else { return }
guard let outputPath = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first else { return }
let output = outputPath.appendingPathComponent("file1.mp4")
guard let session = FFmpegKit.execute("-i \(input.path) -c:v \(outputPath.path)")
(above solution by @MadProgrammer )::::
2022-06-19 22:59:42.004358-0500 videommm[8918:255076] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x60000140c340> F8BB1C28-BAE8-11D6-9C31-00039315CD46
2022-06-19 22:59:42.048383-0500 videommm[8918:254980] <CATransformLayer: 0x6000014060e0> - changing property masksToBounds in transform-only layer, will have no effect
2022-06-19 22:59:42.049907-0500 videommm[8918:254980] <CATransformLayer: 0x60000143bc20> - changing property masksToBounds in transform-only layer, will have no effect
2022-06-19 22:59:42.085850-0500 videommm[8918:254980] <CATransformLayer: 0x600001408d00> - changing property masksToBounds in transform-only layer, will have no effect
2022-06-19 22:59:42.108774-0500 videommm[8918:254980] <CATransformLayer: 0x600001406e20> - changing property masksToBounds in transform-only layer, will have no effect
2022-06-19 22:59:42.110957-0500 videommm[8918:254980] <CATransformLayer: 0x60000143e0e0> - changing property masksToBounds in transform-only layer, will have no effect
2022-06-19 22:59:42.154667-0500 videommm[8918:254980] <CATransformLayer: 0x600001408d00> - changing property allowsGroupBlending in transform-only layer, will have no effect
2022-06-19 22:59:42.155013-0500 videommm[8918:254980] <CATransformLayer: 0x600001406e20> - changing property allowsGroupBlending in transform-only layer, will have no effect
2022-06-19 22:59:46.660559-0500 videommm[8918:254980] Loading ffmpeg-kit.
2022-06-19 22:59:46.663426-0500 videommm[8918:254980] Loaded ffmpeg-kit-full-x86_64-4.5.1-20220114
2022-06-19 22:59:46.664216-0500 videommm[8918:255076] INFO: ffmpeg version v4.5-dev-3393-g30322ebe3c
2022-06-19 22:59:46.664496-0500 videommm[8918:255076] INFO: Copyright (c) 2000-2021 the FFmpeg developers
2022-06-19 22:59:46.664704-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.664909-0500 videommm[8918:255076] INFO: built with Apple clang version 13.0.0 (clang-1300.0.29.30)
2022-06-19 22:59:46.665124-0500 videommm[8918:255076] INFO: configuration: --cross-prefix=x86_64-ios-darwin- --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.2.sdk --prefix=/Users/taner/Projects/ffmpeg-kit/prebuilt/apple-ios-x86_64/ffmpeg --pkg-config=/opt/homebrew/bin/pkg-config --enable-version3 --arch=x86_64 --cpu=x86_64 --target-os=darwin --disable-neon --disable-asm --ar=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar --cc=clang --cxx=clang++ --as='clang -arch x86_64 -target x86_64-apple-ios12.1-simulator -march=x86-64 -msse4.2 -mpopcnt -m64 -DFFMPEG_KIT_X86_64 -Wno-unused-function -Wno-deprecated-declarations -fstrict-aliasing -DIOS -DFFMPEG_KIT_BUILD_DATE=20220114 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.2.sdk -O2 -mios-simulator-version-min=12.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.2.sdk/usr/include' --ranlib=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib --strip=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip --nm=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm --extra-ldflags='-mios-simulator-version-min=12.1' --disable-autodetect --enable-cross-compile --enable-pic --enable-inline-asm --enable-optimizations --enable-swscale --enable-shared --disable-static --install-name-dir='@rpath' --enable-pthreads --disable-v4l2-m2m --disable-outdev=v4l2 --disable-outdev=fbdev --disable-indev=v4l2 --disable-indev=fbdev --enable-small --disable-xmm-clobber-test --disable-debug --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libdav1d --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-libzimg --disable-openssl --enable-zlib --enable-audiotoolbox --disable-outdev=audiotoolbox --enable-bzlib --enable-videotoolbox --enable-avfoundation --enable-iconv --disable-coreimage --disable-appkit --disable-opencl --disable-opengl
2022-06-19 22:59:46.666175-0500 videommm[8918:255076] INFO: libavutil 57. 13.100 / 57. 13.100
2022-06-19 22:59:46.666715-0500 videommm[8918:255076] INFO: libavcodec 59. 15.102 / 59. 15.102
2022-06-19 22:59:46.666956-0500 videommm[8918:255076] INFO: libavformat 59. 10.100 / 59. 10.100
2022-06-19 22:59:46.667271-0500 videommm[8918:255076] INFO: libavdevice 59. 1.100 / 59. 1.100
2022-06-19 22:59:46.667512-0500 videommm[8918:255076] INFO: libavfilter 8. 21.100 / 8. 21.100
2022-06-19 22:59:46.667769-0500 videommm[8918:255076] INFO: libswscale 6. 1.102 / 6. 1.102
2022-06-19 22:59:46.668029-0500 videommm[8918:255076] INFO: libswresample 4. 0.100 / 4. 0.100
2022-06-19 22:59:46.668221-0500 videommm[8918:255076] WARNING: Trailing option(s) found in the command: may be ignored.
2022-06-19 22:59:46.701533-0500 videommm[8918:255076] INFO: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/homefolder/Library/Developer/CoreSimulator/Devices/2FE26EEA-A16A-4DAA-A38E-D003C678A3A2/data/Containers/Bundle/Application/F4A3F78B-5582-41A0-8338-ADD05240F64D/videommm.app/Earth_Zoom_In.mov':
Command failed with state COMPLETED and rc 1.Unknown
2022-06-19 22:59:46.701781-0500 videommm[8918:255076] INFO: Metadata:
2022-06-19 22:59:46.701973-0500 videommm[8918:255076] INFO: major_brand :
2022-06-19 22:59:46.702152-0500 videommm[8918:255076] INFO: qt
2022-06-19 22:59:46.702371-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.702541-0500 videommm[8918:255076] INFO: minor_version :
2022-06-19 22:59:46.702747-0500 videommm[8918:255076] INFO: 537199360
2022-06-19 22:59:46.702938-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.703085-0500 videommm[8918:255076] INFO: compatible_brands:
2022-06-19 22:59:46.703304-0500 videommm[8918:255076] INFO: qt
2022-06-19 22:59:46.703584-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.703858-0500 videommm[8918:255076] INFO: creation_time :
2022-06-19 22:59:46.704101-0500 videommm[8918:255076] INFO: 2013-07-09T19:19:28.000000Z
2022-06-19 22:59:46.704327-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.704620-0500 videommm[8918:255076] INFO: Duration:
2022-06-19 22:59:46.704846-0500 videommm[8918:255076] INFO: 00:00:06.84
2022-06-19 22:59:46.705150-0500 videommm[8918:255076] INFO: , start:
2022-06-19 22:59:46.705409-0500 videommm[8918:255076] INFO: 0.000000
2022-06-19 22:59:46.705632-0500 videommm[8918:255076] INFO: , bitrate:
2022-06-19 22:59:46.705909-0500 videommm[8918:255076] INFO: 9824 kb/s
2022-06-19 22:59:46.706185-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.706519-0500 videommm[8918:255076] INFO: Stream #0:0
2022-06-19 22:59:46.706760-0500 videommm[8918:255076] INFO: [0x1]
2022-06-19 22:59:46.707083-0500 videommm[8918:255076] INFO: (eng)
2022-06-19 22:59:46.707377-0500 videommm[8918:255076] INFO: : Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080, 9812 kb/s
2022-06-19 22:59:46.707642-0500 videommm[8918:255076] INFO: , SAR 1:1 DAR 16:9
2022-06-19 22:59:46.707947-0500 videommm[8918:255076] INFO: ,
2022-06-19 22:59:46.708306-0500 videommm[8918:255076] INFO: 25 fps,
2022-06-19 22:59:46.708617-0500 videommm[8918:255076] INFO: 25 tbr,
2022-06-19 22:59:46.708969-0500 videommm[8918:255076] INFO: 25 tbn
2022-06-19 22:59:46.709169-0500 videommm[8918:255076] INFO: (default)
2022-06-19 22:59:46.709332-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.709603-0500 videommm[8918:255076] INFO: Metadata:
2022-06-19 22:59:46.709808-0500 videommm[8918:255076] INFO: creation_time :
2022-06-19 22:59:46.710117-0500 videommm[8918:255076] INFO: 2013-07-09T19:19:28.000000Z
2022-06-19 22:59:46.710660-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.710924-0500 videommm[8918:255076] INFO: handler_name :
2022-06-19 22:59:46.711139-0500 videommm[8918:255076] INFO: Apple Video Media Handler
2022-06-19 22:59:46.711488-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.711733-0500 videommm[8918:255076] INFO: vendor_id :
2022-06-19 22:59:46.712038-0500 videommm[8918:255076] INFO: appl
2022-06-19 22:59:46.712365-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.712698-0500 videommm[8918:255076] INFO: encoder :
2022-06-19 22:59:46.712971-0500 videommm[8918:255076] INFO: H.264
2022-06-19 22:59:46.713283-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.713563-0500 videommm[8918:255076] INFO: timecode :
2022-06-19 22:59:46.713863-0500 videommm[8918:255076] INFO: 00:00:00:00
2022-06-19 22:59:46.714037-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.714353-0500 videommm[8918:255076] INFO: Stream #0:1
2022-06-19 22:59:46.714769-0500 videommm[8918:255076] INFO: [0x2]
2022-06-19 22:59:46.715138-0500 videommm[8918:255076] INFO: (eng)
2022-06-19 22:59:46.715510-0500 videommm[8918:255076] INFO: : Data: none (tmcd / 0x64636D74), 0 kb/s
2022-06-19 22:59:46.715889-0500 videommm[8918:255076] INFO: (default)
2022-06-19 22:59:46.716143-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.716460-0500 videommm[8918:255076] INFO: Metadata:
2022-06-19 22:59:46.716794-0500 videommm[8918:255076] INFO: creation_time :
2022-06-19 22:59:46.717141-0500 videommm[8918:255076] INFO: 2013-07-09T19:23:14.000000Z
2022-06-19 22:59:46.717427-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.717686-0500 videommm[8918:255076] INFO: handler_name :
2022-06-19 22:59:46.718053-0500 videommm[8918:255076] INFO: Tidskodsmediehanterare
2022-06-19 22:59:46.718412-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.718787-0500 videommm[8918:255076] INFO: timecode :
2022-06-19 22:59:46.719136-0500 videommm[8918:255076] INFO: 00:00:00:00
2022-06-19 22:59:46.719402-0500 videommm[8918:255076] INFO:
2022-06-19 22:59:46.719596-0500 videommm[8918:255076] FATAL: At least one output file must be specified