Skip to content
This repository was archived by the owner on Oct 14, 2021. It is now read-only.
This repository was archived by the owner on Oct 14, 2021. It is now read-only.

Video compress produces black screen, no video, but keeps audio #308

Closed
@danielgchap

Description

@danielgchap

Description
Using ffmpeg I am able to upload a compressed video to firebase storage. However, the video is just a black screen but the audio is successfully there.

Here is my code:
static compressvideo(File video, BuildContext context) async { final FlutterFFmpeg _flutterFFmpeg = new FlutterFFmpeg(); Directory appDocumentDir = await getApplicationDocumentsDirectory(); String rawDocumentPath = appDocumentDir.path; await _flutterFFmpeg .execute('-i "${video.path}" -y -c:v mpeg4 $rawDocumentPath/output.mp4') .then((rc) => print("FFmpeg process exited with rc $rc")); File videoFile = new File("$rawDocumentPath/output.mp4"); return videoFile; }

Expected behavior
Compressed video with integrity of visual/audio elements left intact.

Current behavior
Black screen for length of video, audio is audible.

Screenshots
Here is a screenshot from my firebase storage of the video.
Screen Shot 2021-05-24 at 11 18 42 AM

Logs
Post logs here or paste them to Ghostbin and insert the link here.
I/mobile-ffmpeg(29950): ffmpeg version v4.4-dev-416 I/mobile-ffmpeg(29950): Copyright (c) 2000-2020 the FFmpeg developers I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn) I/mobile-ffmpeg(29950): configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-gmp --enable-gnutls --enable-iconv --disable-sdl2 --enable-zlib --enable-mediacodec I/mobile-ffmpeg(29950): libavutil 56. 55.100 / 56. 55.100 I/mobile-ffmpeg(29950): libavcodec 58. 96.100 / 58. 96.100 I/mobile-ffmpeg(29950): libavformat 58. 48.100 / 58. 48.100 I/mobile-ffmpeg(29950): libavdevice 58. 11.101 / 58. 11.101 I/mobile-ffmpeg(29950): libavfilter 7. 87.100 / 7. 87.100 I/mobile-ffmpeg(29950): libswscale 5. 8.100 / 5. 8.100 I/mobile-ffmpeg(29950): libswresample 3. 8.100 / 3. 8.100 I/mobile-ffmpeg(29950): Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/xxxxxxxxxxxxx/files/video_compress/VID_2021-05-24 11-16-36.mp4': I/mobile-ffmpeg(29950): Metadata: I/mobile-ffmpeg(29950): major_brand : I/mobile-ffmpeg(29950): mp42 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): minor_version : I/mobile-ffmpeg(29950): 0 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): compatible_brands: I/mobile-ffmpeg(29950): isommp42 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): creation_time : I/mobile-ffmpeg(29950): 2021-05-24T15:16:41.000000Z I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): location : I/mobile-ffmpeg(29950): +27.8752-082.6433/ I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): location-eng : I/mobile-ffmpeg(29950): +27.8752-082.6433/ I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): com.android.version: I/mobile-ffmpeg(29950): 10 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Duration: I/mobile-ffmpeg(29950): 00:00:12.12 I/mobile-ffmpeg(29950): , start: I/mobile-ffmpeg(29950): 0.000000 I/mobile-ffmpeg(29950): , bitrate: I/mobile-ffmpeg(29950): 3164 kb/s I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Stream #0:0 I/mobile-ffmpeg(29950): (eng) I/mobile-ffmpeg(29950): : Video: h264 (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/smpte170m), 640x1136, 3063 kb/s I/mobile-ffmpeg(29950): , SAR 1:1 DAR 40:71 I/mobile-ffmpeg(29950): , I/mobile-ffmpeg(29950): 30.03 fps, I/mobile-ffmpeg(29950): 30 tbr, I/mobile-ffmpeg(29950): 90k tbn, I/mobile-ffmpeg(29950): 180k tbc I/mobile-ffmpeg(29950): (default) I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Metadata: I/mobile-ffmpeg(29950): creation_time : I/mobile-ffmpeg(29950): 2021-05-24T15:16:41.000000Z I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): handler_name : I/mobile-ffmpeg(29950): VideoHandle I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Stream #0:1 I/mobile-ffmpeg(29950): (eng) I/mobile-ffmpeg(29950): : Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 95 kb/s I/mobile-ffmpeg(29950): (default) I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Metadata: I/mobile-ffmpeg(29950): creation_time : I/mobile-ffmpeg(29950): 2021-05-24T15:16:41.000000Z I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): handler_name : I/mobile-ffmpeg(29950): SoundHandle I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Stream mapping: I/mobile-ffmpeg(29950): Stream #0:0 -> #0:0 I/mobile-ffmpeg(29950): (h264 (native) -> mpeg4 (native)) I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Stream #0:1 -> #0:1 I/mobile-ffmpeg(29950): (aac (native) -> aac (native)) I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Press [q] to stop, [?] for help W/mobile-ffmpeg(29950): [graph 0 input from stream 0:0 @ 0x7105c3d040] sws_param option is deprecated and ignored I/mobile-ffmpeg(29950): Output #0, mp4, to '/data/user/0/xxxxxxxxxxxx/app_flutter/output.mp4': I/mobile-ffmpeg(29950): Metadata: I/mobile-ffmpeg(29950): major_brand : I/mobile-ffmpeg(29950): mp42 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): minor_version : I/mobile-ffmpeg(29950): 0 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): compatible_brands: I/mobile-ffmpeg(29950): isommp42 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): com.android.version: I/mobile-ffmpeg(29950): 10 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): location : I/mobile-ffmpeg(29950): +27.8752-082.6433/ I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): location-eng : I/mobile-ffmpeg(29950): +27.8752-082.6433/ I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): encoder : I/mobile-ffmpeg(29950): Lavf58.48.100 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Stream #0:0 I/mobile-ffmpeg(29950): (eng) I/mobile-ffmpeg(29950): : Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 640x1136 [SAR 1:1 DAR 40:71], q=2-31, 200 kb/s I/mobile-ffmpeg(29950): , I/mobile-ffmpeg(29950): 30 fps, I/mobile-ffmpeg(29950): 15360 tbn, I/mobile-ffmpeg(29950): 30 tbc I/mobile-ffmpeg(29950): (default) I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Metadata: I/mobile-ffmpeg(29950): creation_time : I/mobile-ffmpeg(29950): 2021-05-24T15:16:41.000000Z I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): handler_name : I/mobile-ffmpeg(29950): VideoHandle I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): encoder : I/mobile-ffmpeg(29950): Lavc58.96.100 mpeg4 I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Side data: I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): cpb: I/mobile-ffmpeg(29950): bitrate max/min/avg: 0/0/200000 buffer size: 0 I/mobile-ffmpeg(29950): vbv_delay: N/A I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Stream #0:1 I/mobile-ffmpeg(29950): (eng) I/mobile-ffmpeg(29950): : Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s I/mobile-ffmpeg(29950): (default) I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): Metadata: I/mobile-ffmpeg(29950): creation_time : I/mobile-ffmpeg(29950): 2021-05-24T15:16:41.000000Z I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): handler_name : I/mobile-ffmpeg(29950): SoundHandle I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): encoder : I/mobile-ffmpeg(29950): Lavc58.96.100 aac I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): frame= 38 fps=0.0 q=31.0 size= 256kB time=00:00:02.04 bitrate=1026.0kbits/s speed=4.06x I/mobile-ffmpeg(29950): frame= 87 fps= 86 q=31.0 size= 256kB time=00:00:03.06 bitrate= 683.6kbits/s speed=3.04x I/mobile-ffmpeg(29950): frame= 131 fps= 87 q=31.0 size= 256kB time=00:00:05.05 bitrate= 415.2kbits/s speed=3.35x I/mobile-ffmpeg(29950): frame= 183 fps= 91 q=31.0 size= 512kB time=00:00:07.05 bitrate= 594.3kbits/s speed= 3.5x I/mobile-ffmpeg(29950): frame= 234 fps= 93 q=31.0 size= 512kB time=00:00:08.06 bitrate= 520.4kbits/s speed= 3.2x I/mobile-ffmpeg(29950): frame= 283 fps= 93 q=31.0 size= 768kB time=00:00:10.06 bitrate= 625.1kbits/s speed=3.32x I/mobile-ffmpeg(29950): frame= 335 fps= 95 q=31.0 size= 768kB time=00:00:11.13 bitrate= 565.1kbits/s speed=3.15x I/mobile-ffmpeg(29950): frame= 364 fps= 96 q=31.0 Lsize= 1051kB time=00:00:12.10 bitrate= 711.2kbits/s speed=3.18x I/mobile-ffmpeg(29950): video:934kB audio:105kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: I/mobile-ffmpeg(29950): 1.127637% I/mobile-ffmpeg(29950): I/mobile-ffmpeg(29950): [aac @ 0x708591db00] Qavg: 416.785 D/flutter-ffmpeg(29950): FFmpeg exited with rc: 0 I/flutter (29950): FFmpeg process exited with rc 0

Environment
`[✓] Flutter (Channel stable, 2.2.0, on Mac OS X 10.15.7 19H524 darwin-x64, locale
en-US)
• Flutter version 2.2.0 at /Users/danielchapman/Dev/flutter
• Framework revision b22742018b (10 days ago), 2021-05-14 19:12:57 -0700
• Engine revision a9d88a4d18
• Dart version 2.13.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at /Users/danielchapman/Library/Android/sdk
• Platform android-30, build-tools 30.0.2
• Java binary at: /Applications/Android
Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build
1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.2, Build version 12B45b
• CocoaPods version 1.10.0

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build
1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.56.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.22.0

[✓] Connected device (2 available)
• Pixel 2 (mobile) • FA7AK1A00856 • android-arm64 • Android 10 (API 29)
• Chrome (web) • chrome • web-javascript • Google Chrome 90.0.4430.212

• No issues found!`

Other

Thank you so much for your help!

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions