Fade Video-Error при открытии кодировщика для выходного потока # 0: 0 - возможно, неверные параметры, такие как bit_rate, rate, width или height - PullRequest
0 голосов
/ 23 сентября 2018

Я использую нижеприведенную команду, чтобы добавить эффект Fade In Fade Out к моему видео

{"-y", "-ss", "" + startMs / 1000, "-t", "" + (endMs - startMs) / 1000, "-i", inputPath, "-acodec", "copy", "-vf", "fade=t=in:st=0:d=5,fade=t=out:st=" + String.valueOf((endMs - startMs) / 1000 - 5) + ":d=5", outputPath};

Я получил сообщение об ошибке ниже -

"Ошибка 3,3.0.1 Copyright (c) 2000-2016 разработчики FFmpeg \ n, созданные с конфигурацией gcc 4.8 (GCC) \ n: --target-os = linux --cross-prefix = / home / vagrant / SourceCode / ffmpeg-android / toolchain-android / bin / arm-linux-androideabi- --arch = arm --cpu = cortex-a8 --enable-runtime-cpudetect --sysroot = / home / vagrant / SourceCode / ffmpeg-android / toolchain-android / sysroot--enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver--enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config = / home / vagrant / SourceCode / ffmpeg-android / ffmpeg-pkg-config --prefix = / home / vagrant / SourceCode / ffmpeg-android / build / armeabi-v7a --extra-cflags ='-I / home / vagrant / SourceCode / ffmpeg-android / toolchain-android / include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE = 2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags = '- L / home /vagrant / SourceCode / ffmpeg-android / toolchain-android / lib -Wl, -z, relro -Wl, -z, теперь -pie '--extra-libs =' - lpng -lexpat -lm '--extra-cxxflags =\ n libavutil 55. 17.103 / 55. 17.103 \ n libavcodec 57. 24.102 / 57. 24.102 \ n libavformat 57. 25.100 / 57. 25.100 \ n libavdevice 57. 0.101 / 57. 0.101 \ n libavfilter 6. 31.100 / 6. 31.100\ n libswscale 4. 0.100 / 4. 0.100 \ n libswresample 2. 0.101 / 2. 0.101 \ n libpostproc 54. 0.100 / 54. 0.100 \ nВход # 0, mov, mp4, m4a, 3gp, 3g2, mj2, из '/хранилище / эмулированное / 0 / DCIM / камера / VID_20180825_071734915.3gp ': \ n Метаданные: \ n major_brand: 3gp4 \ n minor_version: 0 \ n
compatibility_brands: isom3gp4 \ n creation_time: 2018-08-25 01:47:47 \ n com.android.version: 8.0.0 \ n Продолжительность: 00: 00: 10,83, начало: 0,000000, битрейт: 17217 кбит / с \ n Поток № 0: 0 (англ): видео: h264 (высокий) (avc1 / 0x31637661), yuv420p (телевизор, неизвестно)n / bt470bg / неизвестно), 1920x1080, 16756 кбит / с, SAR 1: 1, DAR 16: 9, 29,49 кадров в секунду, 29,58 тбр, 90 тыс. тбн, 180 тыс. тбн (по умолчанию)* creation_time: 2018-08-25 01: 47: 47 \ n имя обработчика: VideoHandle \ n Дополнительные данные: \ n displaymatrix: поворот на -90,00 градусов \ n Поток # 0: 1 (англ): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Гц, моно, fltp, 128 кбит / с (по умолчанию) \ n Метаданные: \ n
creation_time: 2018-08-25 01: 47: 47 \ n имя-обработчика: SoundHandle \ n [h263 @0xf49ff400] H.263 не поддерживает разрешения выше 2048x1152 \ nOutput # 0, 3gp, в '/storage/emulated/0/Movies/fade_video.3gp':\n Метаданные: \ n
major_brand: 3gp4 \ n minor_version:0 \ n
compatibility_brands: isom3gp4 \ n com.android.version: 8.0.0 \ n
Stream # 0: 0 (англ): видео: h263, нет, q = 2-31, 128 кбит / с, SAR 1: 1 DAR 0: 0, 29,58 кадров в секунду (по умолчанию) \ n Метаданные: \ n имя_хранилища: VideoHandle \ n Время_ создания: 2018-08-25 01: 47: 47 \ n
кодировщик: Lavc57.24.102 h263 \n Stream # 0: 1 (англ): аудио: aac (LC) (mp4a / 0x6134706D), 48000 Гц, моно,128 кбит / с (по умолчанию) \ n
Метаданные: \ n creation_time: 2018-08-25 01: 47: 47 \ n
имя-обработчика: SoundHandle \ nПотоковое отображение: \ n Stream # 0: 0 -> #0: 0 (h264 (собственный) -> h263 (собственный)) \ n Stream # 0: 1 -> # 0: 1 (copy) \ nОшибка при открытии кодировщика для выходного потока # 0: 0 - возможно, неверные параметры, такие как bit_rate, rate, width или height \ n "

Почему возникает эта ошибка в приведенной выше команде? Любая помощь будет приветствоваться.

1 Ответ

0 голосов
/ 27 октября 2018

Как говорится в журнале, H.263 не поддерживает разрешения выше 2048x1152.Ваш исходный поток имеет размер 1920x1080, но повернут на 90 градусов, поэтому ffmpeg автоматически поворачивает его до 1080x1920, что не соответствует ограничениям.Вы можете добавить масштабный фильтр после затухания, чтобы условно уменьшить его размер.

scale='if(lte(iw,2048)*lte(ih,1152),iw,if(gt(dar,2048/1152),2048,2*trunc(oh*dar/2)))':'if(lte(iw,2048)*lte(ih,1152),ih,if(gt(dar,2048/1152),2*trunc(ow/dar/2),1152))'

То, что делают выражения x и y, в первую очередь проверяет, больше ли входное значение, чем 2048x1152.Если нет, сохраните оригинальное разрешение.Если да, проверьте коэффициент отображения ввода.Если больше 2048: 1152, уменьшите ширину до 2048 и пропорционально измените высоту, в противном случае уменьшите высоту до 1152 и пропорционально измените ширину.dar обозначает соотношение сторон дисплея.

...