
Recherche avancée
Autres articles (60)
-
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
-
MediaSPIP Player : problèmes potentiels
22 février 2011, parLe lecteur ne fonctionne pas sur Internet Explorer
Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...) -
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...)
Sur d’autres sites (6967)
-
ffmpeg No such filter : 'palettegen' in linux
29 juillet 2016, par royise1.
my system
uname -a
Linux localhost.localdomain 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux2.ffmpeg is download from
http://johnvansickle.com/ffmpeg/3.I had download the
ffmpeg-release-64bit-static.tar.xz
,unpackage this file, and run :./ffmpeg
thenffmpeg
has installed. I check it by using :ffmpeg -version
no problems.I run those command in my system is no problem :
cd /home/web/tomcat-6.0.29/zhouletest/ffmpeg-3.1.1-64bit-static
./ffmpeg -y -ss 10 -t 3 -i /home/web/tomcat-6.0.29/zhouletest/videos/6.mp4 -vf fps=10,scale=177:-1:flags=lanczos,palettegen /home/web/tomcat-6.0.29/zhouletest/gif_images/palettegens/6.png
./ffmpeg -y -ss 10 -t 3 -i /home/web/tomcat-6.0.29/zhouletest/videos/6.mp4 -i /home/web/tomcat-6.0.29/zhouletest/gif_images/palettegens/6.png -filter_complex "fps=10,scale=177:-1:flags=lanczos[x];[x][1:v]paletteuse" /home/web/tomcat-6.0.29/zhouletest/gif_images/6.gifbut when I invoke this command in java, errors happend, why ?
String cmd1 = "/home/web/tomcat-6.0.29/zhouletest/ffmpeg -y -ss 10 -t 3 -i /home/web/tomcat-6.0.29/zhouletest/videos/6.mp4 -vf fps=10,scale=177:-1:flags=lanczos,palettegen /home/web/tomcat-6.0.29/zhouletest/gif_images/palettegens/6.png";
String cmd2 = "/home/web/tomcat-6.0.29/zhouletest/ffmpeg-3.1.1-64bit-static/ffmpeg -y -ss 10 -t 3 -i /home/web/tomcat-6.0.29/zhouletest/videos/6.mp4 -i /home/web/tomcat-6.0.29/zhouletest/gif_images/palettegens/6.png -filter_complex \"fps=10,scale=177:-1:flags=lanczos[x];[x][1:v]paletteuse\" /home/web/tomcat-6.0.29/zhouletest/gif_images/6.gif";
String result1 = executeCommand(cmd1);
String result2 = executeCommand(cmd2);
private static String executeCommand(String command) {
StringBuffer output = new StringBuffer();
Process p;
try {
p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String line = "";
while ((line = reader.readLine())!= null) {
output.append(line + "\n");
}
} catch (Exception e) {
e.printStackTrace();
}
return output.toString();
}errors :
result1 :
result2:ffmpeg version 3.1.1-static
http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.4.0 (Debian 5.4.0-4) 20160609
configuration : —enable-gpl —enable-version3 —enable-static
—disable-debug —enable-libmp3lame —enable-libx264 —enable-libx265 —enable-libwebp —enable-libspeex —enable-libvorbis —enable-libvpx —enable-libfreetype —enable-fontconfig —enable-libxvid —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libtheora —enable-libvo-amrwbenc —enable-gray —enable-libopenjpeg —enable-libopus —enable-libass —enable-gnutls —enable-libvidstab —enable-libsoxr —enable-frei0r —enable-libfribidi —disable-indev=sndio —disable-outdev=sndio —enable-librtmp —enable-libmfx —enable-libzimg —cc=gcc
libavutil 55. 28.100 / 55. 28.100
libavcodec 57.
48.101 / 57. 48.101
libavformat 57. 41.100 / 57. 41.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter
6. 47.100 / 6. 47.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc
54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ’/home/web/tomcat-6.0.29/zhouletest/videos/6.mp4’ :
Metadata :
major_brand : isom
minor_version : 512
compatible_brands : isomiso2avc1mp41
encoder : Lavf56.40.101
Duration : 00:04:36.64, start : -3.338000, bitrate : 1089 kb/s
Stream #0:0(und) : Video : h264 (Main) (avc1 / 0x31637661), yuv420p, 480x360, 997 kb/s, 15 fps, 15 tbr, 16k tbn, 30 tbc (default)
Metadata :
handler_name : VideoHandler
Stream #0:1(und) : Audio : aac (Main) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 88 kb/s (default)
Metadata :
handler_name : SoundHandler
Input #1, png_pipe, from ’/home/web/tomcat-6.0.29/zhouletest/gif_images/palettegens/6.png’ :
Duration : N/A, bitrate : N/A
Stream #1:0 : Video : png, rgba(pc), 16x16 [SAR 1:1 DAR 1:1], 25 tbr, 25 tbn, 25 tbc
[AVFilterGraph @ 0x45c5260] No such filter :
’"fps’
Error initializing complex filters.
Invalid
argument -
Encoding RGB to MPEG too Slow
26 avril 2018, par tkelleheEncoding RGB to MPEG too Slow
Hello, I am using the ffmpeg C++ library to encode raw RGBA32 video data into MPEG. I first use
sws_scale
to get the raw RGBA32 video data into YUV420p. From there, I take that buffer and encode it using theavcodec_encode_video2
function. Everything works/looks fine (except I am not too excited about the loss in quality from the two jumps), but what is really bothering me is that it takes about8ms
for the first step and another8ms
for the next step (best case). And this is per frame ! This means that with a FPS of60
it takes at least the length of the recording to get it into MPEG !My Question
Is there a format to encode to that does not cause me to take forever and a day to encode into ? If so, is there a C++ library to do this such as ffmpeg ?
-
How do I properly link ffmpeg using CMake in my Flutter plugin on Linux ?
7 avril 2022, par GroovinChipI've written a Flutter plugin for Linux that uses
ffmpeg
and I'm having trouble building my example app that uses the plugin. I keep getting errors that there are no matching calls to severalffmpeg
functions, which I can actually click into and see. Why is this happening and what can I do to fix it ?

Here is my plugin's
CMakeLists.txt
:

cmake_minimum_required(VERSION 3.10)
set(PROJECT_NAME "thumblr_linux")
project(${PROJECT_NAME} LANGUAGES CXX)

# This value is used when generating builds using this plugin, so it must
# not be changed
set(PLUGIN_NAME "thumblr_linux_plugin")

add_subdirectory(FFmpeg)

add_library(${PLUGIN_NAME} SHARED
 "thumblr_linux_plugin.cc"
)
apply_standard_settings(${PLUGIN_NAME})
set_target_properties(${PLUGIN_NAME} PROPERTIES
 CXX_VISIBILITY_PRESET hidden)
target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL)
target_include_directories(${PLUGIN_NAME} INTERFACE
 "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(${PLUGIN_NAME} PRIVATE flutter)
target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK FFmpgeg)

# List of absolute paths to libraries that should be bundled with the plugin
set(thumblr_linux_bundled_libraries
 ""
 PARENT_SCOPE
)



and here is my
FFmpeg/CMakeLists.txt
:

cmake_minimum_required(VERSION 3.14)
project(FFmpeg)

find_package(PkgConfig REQUIRED)
pkg_check_modules(AVCODEC REQUIRED IMPORTED_TARGET libavcodec)
pkg_check_modules(AVFORMAT REQUIRED IMPORTED_TARGET libavformat)
pkg_check_modules(AVFILTER REQUIRED IMPORTED_TARGET libavfilter)
pkg_check_modules(AVDEVICE REQUIRED IMPORTED_TARGET libavdevice)
pkg_check_modules(AVUTIL REQUIRED IMPORTED_TARGET libavutil)
pkg_check_modules(SWRESAMPLE REQUIRED IMPORTED_TARGET libswresample)
pkg_check_modules(SWSCALE REQUIRED IMPORTED_TARGET libswscale)

add_library(FFmpeg INTERFACE IMPORTED GLOBAL)

target_link_libraries(FFmpeg INTERFACE
 PkgConfig::AVCODEC
 PkgConfig::AVFORMAT
 PkgConfig::AVFILTER
 PkgConfig::AVDEVICE
 PkgConfig::AVUTIL
 PkgConfig::SWRESAMPLE
 PkgConfig::SWSCALE
)



and here are the error messages I get when building :


/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:80:9: error: no matching function for call to 'avformat_open_input'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:84:9: error: no matching function for call to 'avformat_find_stream_info'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:88:5: error: no matching function for call to 'av_dump_format'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:102:61: error: assigning to 'AVCodecContext *' from incompatible type 'AVCodecParameters *'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:111:9: error: use of undeclared identifier 'avcodec_open'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:119:14: error: use of undeclared identifier 'avcodec_alloc_frame'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:122:17: error: use of undeclared identifier 'avcodec_alloc_frame'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:127:16: error: no matching function for call to 'atk_image_get_image_size'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:133:5: error: use of undeclared identifier 'av_image_fill_arrays'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:144:9: error: use of undeclared identifier 'avcodec_decode_video'
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:179:15: error: unused variable 'ret' [-Werror,-Wunused-variable]
/home/parallels/flutter_projects/thumblr/thumblr_linux/example/linux/flutter/ephemeral/.plugin_symlinks/thumblr_linux/linux/thumblr_linux_plugin.cc:211:5: error: no matching function for call to 'avformat_close_input'



the C++ code for the plugin itself can be found here : https://github.com/GroovinChip/thumblr/blob/main/thumblr_linux/linux/thumblr_linux_plugin.cc