
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (75)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (8421)
-
Cant link against ffmpeg static build
24 mars 2017, par David BarishevI have build ffmpeg libraries statically for x86 android using a custom configuration.Now i wanted to add them in my android project.
Im using ffmpeg 3.2.git, android studio 2.3.
I created a folder named distribution which had my binaries, and the minimum headers i needed for it to not tell me about missing header (Except for the avutil- i just included them all), located the root of my project.
Here is a file tree :distribution
├── libavcodec
│ ├── lib
│ │ └── x86
│ │ └── libavcodec.a
│ ├── avcodec.h
│ └── version.h
├── libavfilter
│ ├── lib
│ │ └── x86
│ │ └── libavfilter.a
│ ├── avfiltergraph.h
│ └── avfilter.h
├── libavformat
│ ├── lib
│ │ └── x86
│ │ └── libavformat.a
│ ├── avformat.h
│ ├── avio.h
│ └── version.h
├── libavutil
│ ├── lib
│ │ └── x86
│ │ └── libavutil.a
│ ├── attributes.h
│ ├── avconfig.h
│ ├── avutil.h
│ ├── buffer.h
│ ├── buffer_internal.h
│ ├── camellia.h
│ ├── cast5.h
│ ├── channel_layout.h
│ ├── colorspace.h
│ ├── color_utils.h
│ ├── common.h
│ ├── cpu.h
│ ├── cpu_internal.h
│ ├── crc.h
│ ├── des.h
│ ├── dict.h
│ ├── display.h
│ ├── downmix_info.h
│ ├── dynarray.h
│ ├── error.h
│ ├── eval.h
│ ├── ffmath.h
│ ├── ffversion.h
│ ├── fifo.h
│ ├── file.h
│ ├── fixed_dsp.h
│ ├── float_dsp.h
│ ├── frame.h
│ ├── hash.h
│ ├── hmac.h
│ ├── hwcontext_cuda.h
│ ├── hwcontext_cuda_internal.h
│ ├── hwcontext_dxva2.h
│ ├── hwcontext.h
│ ├── hwcontext_internal.h
│ ├── hwcontext_qsv.h
│ ├── hwcontext_vaapi.h
│ ├── hwcontext_vdpau.h
│ ├── imgutils.h
│ ├── integer.h
│ ├── internal.h
│ ├── intfloat.h
│ ├── intmath.h
│ ├── intreadwrite.h
│ ├── lfg.h
│ ├── libm.h
│ ├── lls.h
│ ├── log.h
│ ├── lzo.h
│ ├── macros.h
│ ├── mastering_display_metadata.h
│ ├── mathematics.h
│ ├── md5.h
│ ├── mem.h
│ ├── mem_internal.h
│ ├── motion_vector.h
│ ├── murmur3.h
│ ├── opencl.h
│ ├── opencl_internal.h
│ ├── opt.h
│ ├── parseutils.h
│ ├── pca.h
│ ├── pixdesc.h
│ ├── pixelutils.h
│ ├── pixfmt.h
│ ├── qsort.h
│ ├── random_seed.h
│ ├── rational.h
│ ├── rc4.h
│ ├── replaygain.h
│ ├── reverse.h
│ ├── ripemd.h
│ ├── samplefmt.h
│ ├── sha512.h
│ ├── sha.h
│ ├── softfloat.h
│ ├── softfloat_ieee754.h
│ ├── softfloat_tables.h
│ ├── spherical.h
│ ├── stereo3d.h
│ ├── tablegen.h
│ ├── tea.h
│ ├── thread.h
│ ├── threadmessage.h
│ ├── timecode.h
│ ├── time.h
│ ├── time_internal.h
│ ├── timer.h
│ ├── timestamp.h
│ ├── tree.h
│ ├── twofish.h
│ └── version.h
└── libswresample
├── lib
│ └── x86
│ └── libswresample.a
├── swresample.h
└── swresample_internal.hI edited my cmake to include the libraries :
add_library(
native-lib
SHARED
src/main/cpp/native-lib.cpp )
set(distribution_DIR ${CMAKE_SOURCE_DIR}/../distribution)
add_library(lib_avcodec STATIC IMPORTED)
set_target_properties(lib_avcodec PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libavcodec/lib/${ANDROID_ABI}/libavcodec.a)
add_library(lib_avfilter STATIC IMPORTED)
set_target_properties(lib_avfilter PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libavfilter/lib/${ANDROID_ABI}/libavfilter.a)
add_library(lib_avformat STATIC IMPORTED)
set_target_properties(lib_avformat PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libavformat/lib/${ANDROID_ABI}/libavformat.a)
add_library(lib_avutil STATIC IMPORTED)
set_target_properties(lib_avutil PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libavutil/lib/${ANDROID_ABI}/libavutil.a)
add_library(lib_swresample STATIC IMPORTED)
set_target_properties(lib_swresample PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/libswresample/lib/${ANDROID_ABI}/libswresample.a)
include_directories(
${distribution_DIR}
)
target_link_libraries(
native-lib
lib_avcodec
lib_avfilter
lib_avformat
lib_avutil
lib_swresample
)I also restricted the build to only x86, in my app build.gradle :
ndk {
// Specifies the ABI configurations of your native
// libraries Gradle should build and package with your APK.
abiFilters 'x86'
}The project gradle sync worked successfully.
I wrote the following code in my cpp file :#include
extern "C"{
#include "libavformat/avformat.h"
}
JNIEXPORT void JNICALL
Java_com_example_david_testffmpegcpp_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
av_register_all ();
avformat_network_init ();
}Just to check if the library works, but i cant seem to link against the libraries correctly. It complains about undefined symbols.
What did i do wrong ?Error :
[2/2] Linking CXX shared library
..\..\..\..\build\intermediates\cmake\debug\obj\x86\libnative-lib.so
FAILED: cmd.exe /C "cd . && D:\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=i686-none-linux-android --gcc-toolchain=D:/AndroidSDK/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/AndroidSDK/ndk-bundle/platforms/android-16/arch-x86 -fPIC -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -Wa,--noexecstack -Wformat -Werror=format-security -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ..\..\..\..\build\intermediates\cmake\debug\obj\x86\libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o -llog ../../../../../distribution/libavcodec/lib/x86/libavcodec.a ../../../../../distribution/libavfilter/lib/x86/libavfilter.a ../../../../../distribution/libavformat/lib/x86/libavformat.a ../../../../../distribution/libavutil/lib/x86/libavutil.a ../../../../../distribution/libswresample/lib/x86/libswresample.a -lm "D:/AndroidSDK/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_static.a" && cd ."
src/libavformat/allformats.c:51: error: undefined reference to 'avcodec_register_all'
src/libavformat/id3v2.c:1009: error: undefined reference to 'uncompress'
src/libavformat/id3v2.c:1153: error: undefined reference to 'av_init_packet'
src/libavformat/matroskadec.c:1393: error: undefined reference to 'inflateInit_'
src/libavformat/matroskadec.c:1408: error: undefined reference to 'inflate'
src/libavformat/matroskadec.c:1401: error: undefined reference to 'inflateEnd'
src/libavformat/matroskadec.c:1411: error: undefined reference to 'inflateEnd'
src/libavformat/matroskadec.c:3113: error: undefined reference to 'av_new_packet'
src/libavformat/matroskadec.c:3134: error: undefined reference to 'av_packet_new_side_data'
src/libavformat/matroskadec.c:2855: error: undefined reference to 'av_new_packet'
src/libavformat/matroskadec.c:3147: error: undefined reference to 'av_packet_new_side_data'
src/libavformat/matroskadec.c:3022: error: undefined reference to 'av_new_packet'
src/libavformat/matroskadec.c:3031: error: undefined reference to 'av_packet_new_side_data'
src/libavformat/matroskadec.c:3042: error: undefined reference to 'av_packet_new_side_data'
src/libavformat/matroskadec.c:3151: error: undefined reference to 'av_packet_unref'
src/libavformat/matroskadec.c:2680: error: undefined reference to 'av_packet_unref'
src/libavformat/matroskadec.c:963: error: undefined reference to 'av_fast_padded_malloc'
src/libavformat/matroskadec.c:2163: error: undefined reference to 'av_get_codec_tag_string'
src/libavformat/matroskadec.c:2680: error: undefined reference to 'av_packet_unref'
src/libavformat/matroskadec.c:2579: error: undefined reference to 'av_init_packet'
src/libavformat/matroskadec.c:2580: error: undefined reference to 'av_new_packet'
src/libavformat/matroskadec.c:1715: error: undefined reference to 'avpriv_mpeg4audio_sample_rates'
src/libavformat/matroskadec.c:1715: error: undefined reference to 'avpriv_mpeg4audio_sample_rates'
src/libavformat/matroskadec.c:1715: error: undefined reference to 'avpriv_mpeg4audio_sample_rates'
src/libavformat/matroskadec.c:1866: error: undefined reference to 'avcodec_chroma_pos_to_enum'
src/libavformat/matroskadec.c:2680: error: undefined reference to 'av_packet_unref'
src/libavformat/matroskaenc.c:2482: error: undefined reference to 'avcodec_get_type'
src/libavformat/matroskaenc.c:646: error: undefined reference to 'avpriv_split_xiph_headers'
src/libavformat/matroskaenc.c:1066: error: undefined reference to 'av_get_bits_per_sample'
src/libavformat/matroskaenc.c:723: error: undefined reference to 'avpriv_mpeg4audio_get_config'
src/libavformat/matroskaenc.c:875: error: undefined reference to 'avcodec_enum_to_chroma_pos'
src/libavformat/matroskaenc.c:813: error: undefined reference to 'avcodec_get_name'
src/libavformat/matroskaenc.c:806: error: undefined reference to 'avcodec_get_name'
src/libavformat/matroskaenc.c:824: error: undefined reference to 'avcodec_get_name'
..... -
doc : Link to "Resampler Options" in the aresample documentation.
2 mars 2017, par Carl Eugen Hoyos -
How to link and call function of prebuild static native library from android studio
23 janvier 2017, par JanakiI need to change pitch and time stretching of an audio. For this I am using prebuild static library. Currently I am having libZtxAndroid.a static library and corresponding header file which contains function declaration. But I don’t know how to load this library in my android studio app and call native function from java code. I explored many links and tried to load this library. But all attempts are failed. This is the one link which I have tried last time https://tariqzubairy.wordpress.com/2012/03/12/use-of-prebuild-static-library-compiled-with-android-toolchain/
Also I am using FFMPEG shared library and MP4Parser (https://github.com/sannies/mp4parser) library in this app for adding water mark to video and merging audio respectively. Can any one help from basics.
- How to load static library ?
- Where I need to place that static library ?
- Where I need to create jni folder (folder structure) ?
- How to call function available in that static library with the help of header file from java code ?