Recherche avancée

Médias (1)

Mot : - Tags -/biographie

Autres articles (77)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (12209)

  • Apply filters to video while preview and save it with applied filter and original audio in android

    11 juillet 2016, par Rajkumar

    Dear geeks i m newbie to video processing. i want to apply a filter to a video at runtime, and i want to save that video after filter applied.
    Regarding this i m doing a research. I has gone through many libraries but i m struggling to achive my aim.

    Developement environment

    Migw-64 with windows 7 64 bit
    Android Studio 2.1 preview 5
    heap space 4GB
    com.android.tools.build:gradle:2.1.0
    android-ndk-r12-win-x86_64
    com.android.tools.build:gradle-experimental:0.7.0 —> to build NDK

    I have tried

    1)AndroidFastImageprocessingLibrary

    Chrisbatt -> AndroidFastImageProcessing in github
    github.com/chrisbatt/AndroidFastImageProcessing
    This library use GLSurfaceview to display filters but we could not save it to mp4 file

    so i found another implementation of it
    icmobilelab -> AndroidFastImageProcessing in github
    github.com/icmobilelab/AndroidFastImageProcessing/blob/master/framework/FastImageProcessing/src/project/android/imageprocessing/output/VideoFileEndpoint.java
    This library use JavaCV with ffmpeg compiled. But it failed.

    2)JavaCV
    JavaCV use outdated ffmpeg and it abondond

    3)Grafika -> in github
    github.com/google/grafika
    I tried Android Fast Image Processing with RecordFBOActivity in grafika. But i m failed. This library use MediaRecorder to record the contents of GLSurfaceView. But it records video without audio(I have tested the RecordFBOActivity and analyze the code )

    4)filter packs in platform_frameworks
    github.com/android/platform_frameworks_base/blob/master/media/mca/filterpacks/java/android/filterpacks/videosink/MediaEncoderFilter.java
    its android 4.2 edited core. i can’t run this code because too many jni dependencies.

    5)ffmpeg
    github.com/guardianproject/android-ffmpeg
    i tried ffmpeg3.1 compilation procedure implemented by guardianproject. it successfullay built a static library but i cannot build dynamic library( so files). i m stuck with a linker error. I think the linking order matters. i tried the linking order specified in below link
    https://fritzone.wordpress.com/2010/05/11/link-with-static-ffmpeg/
    but it won’t help. the following error occurs

    [armeabi-v7a] SharedLibrary  : libffmpeg.so
    jni/ffmpeg.c:200: error: undefined reference to 'av_frame_alloc'
    jni/ffmpeg.c:201: error: undefined reference to 'av_frame_alloc'
    jni/ffmpeg.c:209: error: undefined reference to 'av_register_all'
    jni/ffmpeg.c:210: error: undefined reference to 'avfilter_register_all'
    jni/ffmpeg.c:45: error: undefined reference to 'avformat_open_input'
    jni/ffmpeg.c:50: error: undefined reference to 'avformat_find_stream_info'
    jni/ffmpeg.c:56: error: undefined reference to 'av_find_best_stream'
    jni/ffmpeg.c:63: error: undefined reference to 'av_opt_set_int'
    jni/ffmpeg.c:66: error: undefined reference to 'avcodec_open2'
    jni/ffmpeg.c:67: error: undefined reference to 'av_log'
    jni/ffmpeg.c:78: error: undefined reference to 'avfilter_get_by_name'
    jni/ffmpeg.c:79: error: undefined reference to 'avfilter_get_by_name'
    jni/ffmpeg.c:80: error: undefined reference to 'avfilter_inout_alloc'
    jni/ffmpeg.c:81: error: undefined reference to 'avfilter_inout_alloc'
    jni/ffmpeg.c:85: error: undefined reference to 'avfilter_graph_alloc'
    jni/ffmpeg.c:98: error: undefined reference to 'avfilter_graph_create_filter'
    jni/ffmpeg.c:106: error: undefined reference to 'avfilter_graph_create_filter'
    jni/ffmpeg.c:113: error: undefined reference to 'av_int_list_length_for_size'
    jni/ffmpeg.c:113: error: undefined reference to 'av_opt_set_bin'
    jni/ffmpeg.c:116: error: undefined reference to 'av_log'
    jni/ffmpeg.c:131: error: undefined reference to 'av_strdup'
    jni/ffmpeg.c:142: error: undefined reference to 'av_strdup'
    jni/ffmpeg.c:147: error: undefined reference to 'avfilter_graph_parse_ptr'
    jni/ffmpeg.c:151: error: undefined reference to 'avfilter_graph_config'
    jni/ffmpeg.c:155: error: undefined reference to 'avfilter_inout_free'
    jni/ffmpeg.c:156: error: undefined reference to 'avfilter_inout_free'
    jni/ffmpeg.c:218: error: undefined reference to 'av_read_frame'
    jni/ffmpeg.c:223: error: undefined reference to 'avcodec_decode_video2'
    jni/ffmpeg.c:230: error: undefined reference to 'av_frame_get_best_effort_timestamp'
    jni/ffmpeg.c:233: error: undefined reference to 'av_buffersrc_add_frame_flags'
    jni/ffmpeg.c:234: error: undefined reference to 'av_log'
    jni/ffmpeg.c:240: error: undefined reference to 'av_buffersink_get_frame'
    jni/ffmpeg.c:171: error: undefined reference to 'av_rescale_q'
    jni/ffmpeg.c:246: error: undefined reference to 'av_frame_unref'
    jni/ffmpeg.c:248: error: undefined reference to 'av_frame_unref'
    jni/ffmpeg.c:251: error: undefined reference to 'av_packet_unref'
    jni/ffmpeg.c:254: error: undefined reference to 'avfilter_graph_free'
    jni/ffmpeg.c:255: error: undefined reference to 'avcodec_close'
    jni/ffmpeg.c:256: error: undefined reference to 'avformat_close_input'
    jni/ffmpeg.c:257: error: undefined reference to 'av_frame_free'
    jni/ffmpeg.c:258: error: undefined reference to 'av_frame_free'
    jni/include/libavutil/error.h:111: error: undefined reference to 'av_strerror'
    collect2.exe: error: ld returned 1 exit status
    make: *** [obj/local/armeabi/libffmpeg.so] Error 1

    6)MediaCodec, MediaExtractor,MediaRecord,MediaMuxer
    finally i planned to combine AndroidFastImageProcessing with MediaCodec, MediaExtractor,MediaRecord,MediaMuxer.
    so i try to Extract audio from video using mediamuxer
    https://gist.github.com/sayan801/9a39ccad0818d2b3499a
    I use mp4 video (MIME Type video/avc that have 2 tracks audio and video) to extract audio
    but the resultant file is corrupted (just 4 kb)

    I think this question is another view of the existing problem
    if anybody experienced this problem please guide me
    Thanks

  • ffmpeg - android ndk build assembler messages bad instruction

    17 septembre 2016, par Madhavan Malolan

    I have compiled the latest ffmpeg source using the following build script adapted from Telegram :

    #!/bin/bash
    #apply fix http://permalink.gmane.org/gmane.comp.video.ffmpeg.devel/203198

    function build_one {

    echo "Cleaning..."
    make clean

    echo "Configuring..."

    ./configure \
    --cc=$CC \
    --nm=$NM \
    --enable-stripping \
    --arch=$ARCH \
    --cpu=$CPU \
    --target-os=linux \
    --enable-cross-compile \
    --yasmexe=$NDK/prebuilt/darwin-x86_64/bin/yasm \
    --prefix=$PREFIX \
    --enable-pic \
    --disable-shared \
    --enable-static \
    --cross-prefix=$CROSS_PREFIX \
    --sysroot=$PLATFORM \
    --extra-cflags="-Os -DANDROID $OPTIMIZE_CFLAGS -fPIE -pie --static" \
    --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl" \
    --extra-libs="-lgcc" \
    \
    --enable-version3 \
    --enable-gpl \
    \
    --disable-doc \
    --disable-avx \
    \
    --disable-everything \
    --disable-network \
    --disable-zlib \
    --disable-debug \
    --disable-programs \
    --disable-network \
    \
    --enable-pthreads \
    --enable-protocol=file \
    --enable-decoder=h264 \
    --enable-decoder=gif \
    --enable-demuxer=mov \
    --enable-demuxer=gif \
    --enable-hwaccels \
    --enable-runtime-cpudetect \
    --enable-asm \
    $ADDITIONAL_CONFIGURE_FLAG

    #echo "continue?"
    #read
    make -j8 install

    }

    NDK=~/Downloads/android-ndk-r12b/

    #arm platform
    PLATFORM=$NDK/platforms/android-9/arch-arm
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
    LD=$PREBUILT/bin/arm-linux-androideabi-ld
    AR=$PREBUILT/bin/arm-linux-androideabi-ar
    NM=$PREBUILT/bin/arm-linux-androideabi-nm
    GCCLIB=$PREBUILT/lib/gcc/arm-linux-androideabi/4.9/libgcc.a
    ARCH=arm
    CC=$PREBUILT/bin/arm-linux-androideabi-gcc
    CROSS_PREFIX=$PREBUILT/bin/arm-linux-androideabi-

    #arm v5
    CPU=armv5te
    OPTIMIZE_CFLAGS="-marm -march=$CPU"
    PREFIX=./android/$CPU
    ADDITIONAL_CONFIGURE_FLAG="--disable-armv6 --disable-armv6t2 --disable-vfp --disable-neon"
    build_one

    #arm v7n
    CPU=armv7-a
    OPTIMIZE_CFLAGS="-marm -march=$CPU"
    PREFIX=./android/$CPU
    ADDITIONAL_CONFIGURE_FLAG=--enable-neon
    build_one

    #x86 platform
    PLATFORM=$NDK/platforms/android-9/arch-x86
    PREBUILT=$NDK/toolchains/x86-4.9/prebuilt/darwin-x86_64
    LD=$PREBUILT/bin/i686-linux-android-ld
    AR=$PREBUILT/bin/i686-linux-android-ar
    NM=$PREBUILT/bin/i686-linux-android-nm
    GCCLIB=$PREBUILT/lib/gcc/i686-linux-android/4.9/libgcc.a
    ARCH=x86
    CC=$PREBUILT/bin/i686-linux-android-gcc
    CROSS_PREFIX=$PREBUILT/bin/i686-linux-android-

    CPU=i686
    OPTIMIZE_CFLAGS="-march=$CPU"
    PREFIX=./android/$CPU
    ADDITIONAL_CONFIGURE_FLAG="--disable-mmx --disable-yasm"
    build_one

    I copied the contents of the android/ folder generated to jni/ffmpeg/.
    I then tried to do a ndk-build, which fails with an error.

    The Android.mk file is as follows :

    LOCAL_PATH := $(call my-dir)

    LOCAL_MODULE    := avutil
    LOCAL_MODULE_FILENAME := libavutil
    LOCAL_SRC_FILES := ./ffmpeg/armv7-a/lib/libavutil.a
    include $(PREBUILT_STATIC_LIBRARY)

    include $(CLEAR_VARS)

    LOCAL_MODULE    := avformat
    LOCAL_MODULE_FILENAME := libavformat
       LOCAL_SRC_FILES := ./ffmpeg/armv7-a/lib/libavformat.a
    include $(PREBUILT_STATIC_LIBRARY)

    include $(CLEAR_VARS)

    LOCAL_MODULE    := avcodec
    LOCAL_MODULE_FILENAME := libavcodec
    LOCAL_SRC_FILES := ./ffmpeg/armv7-a/lib/libavcodec.a
    include $(PREBUILT_STATIC_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_MODULE    := avdevice
    LOCAL_MODULE_FILENAME := libavdevice
    LOCAL_SRC_FILES := ./ffmpeg/armv7-a/lib/libavdevice.a
    include $(PREBUILT_STATIC_LIBRARY)


    include $(CLEAR_VARS)
    LOCAL_MODULE    := avfilter
    LOCAL_MODULE_FILENAME := libavfilter
    LOCAL_SRC_FILES := ./ffmpeg/armv7-a/lib/libavfilter.a
    include $(PREBUILT_STATIC_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_MODULE    := postproc
    LOCAL_MODULE_FILENAME := libpostproc
    LOCAL_SRC_FILES := ./ffmpeg/armv7-a/lib/libpostproc.a
    include $(PREBUILT_STATIC_LIBRARY)


    include $(CLEAR_VARS)
    LOCAL_MODULE    := swresample
    LOCAL_MODULE_FILENAME := libswresample
    LOCAL_SRC_FILES := ./ffmpeg/armv7-a/lib/libswresample.a
    include $(PREBUILT_STATIC_LIBRARY)


    include $(CLEAR_VARS)
    LOCAL_MODULE    := swscale
    LOCAL_MODULE_FILENAME := libswscale
    LOCAL_SRC_FILES := ./ffmpeg/armv7-a/lib/libswscale.a
    include $(PREBUILT_STATIC_LIBRARY)


    include $(CLEAR_VARS)
    LOCAL_PRELINK_MODULE := false

    LOCAL_MODULE    := ffmpeg
    LOCAL_CFLAGS    := -w -std=c11 -Os -DNULL=0 -DSOCKLEN_T=socklen_t -DLOCALE_NOT_USED -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
    LOCAL_CFLAGS    += -Drestrict='' -D__EMX__ -DOPUS_BUILD -DFIXED_POINT -DUSE_ALLOCA -DHAVE_LRINT -DHAVE_LRINTF -fno-math-errno
    LOCAL_CFLAGS    += -DANDROID_NDK -DDISABLE_IMPORTGL -fno-strict-aliasing -fprefetch-loop-arrays -DAVOID_TABLES -DANDROID_TILE_BASED_DECODE -DANDROID_ARMV6_IDCT -ffast-math -D__STDC_CONSTANT_MACROS
    LOCAL_CPPFLAGS  := -DBSD=1 -ffast-math -Os -funroll-loops -std=c++11
    LOCAL_LDLIBS    := -ljnigraphics -llog -lz -latomic
    LOCAL_STATIC_LIBRARIES := avformat avcodec avutil avfilter avdevice postproc swresample swscale
    LOCAL_SRC_FILES := ffmpeg.c

    include $(BUILD_SHARED_LIBRARY)

    The error thrown is :

    [armeabi-v7a] Compile thumb : ffmpeg <= ffmpeg.c
    /var/folders/2p/0jqlz1c94t537_53qn3h8v9h0000gn/T//cc8Tnpth.s :
    Assembler messages :
    /var/folders/2p/0jqlz1c94t537_53qn3h8v9h0000gn/T//cc8Tnpth.s:4421 :
    Error : bad instruction

    cmovg r3,r8'
     /var/folders/2p/0jqlz1c94t537_53qn3h8v9h0000gn/T//cc8Tnpth.s:4422:
     Error: bad instruction

    cmovg r2,r3’
    /var/folders/2p/0jqlz1c94t537_53qn3h8v9h0000gn/T//cc8Tnpth.s:4424 :
    Error : bad instruction

    cmovl r1,r3'
     /var/folders/2p/0jqlz1c94t537_53qn3h8v9h0000gn/T//cc8Tnpth.s:4426:
     Error: bad instruction

    cmovg r3,r8’ make : ***
    [path/to/app/obj/local/armeabi-v7a/objs/ffmpeg/ffmpeg.o]
    Error 1

    I am guessing i got the compiler wrong somewhere. I am trying to build on a mac. Is there something i am missing ? I am trying to build only for armeabi-v7a.

  • How do you display closed caption format of HLS video stream from an m3u8 URL

    7 décembre 2016, par rynop

    I’m working on a Roku and TVOS app that is going to play HLS videos (VOD and live) as well as MP4. According to the Roku docs EIA-608 is supported on both and should also work on TVOS.

    My question is, given URL to the m3u8 how can I tell what specific format (EIA-608,WebVTT etc) of closed captioning is being used in each stream ?

    Contents of the main m3u8 (note 1st stream says no CC, but it really does have it) :

    #EXTM3U
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=380000,RESOLUTION=400x228,CODECS="avc1.66.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
    http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/index_0_av.m3u8
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=750000,RESOLUTION=640x360,CODECS="avc1.77.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
    http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/index_1_av.m3u8
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1044000,RESOLUTION=1280x720,CODECS="avc1.64001f, mp4a.40.2",CLOSED-CAPTIONS=NONE
    http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/index_2_av.m3u8
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2127000,RESOLUTION=1280x720,CODECS="avc1.64001f, mp4a.40.2",CLOSED-CAPTIONS=NONE
    http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/index_3_av.m3u8

    Contents of the 1st stream’s m3u8

    #EXTM3U
    #EXT-X-TARGETDURATION:4
    #EXT-X-ALLOW-CACHE:YES
    #EXT-X-PLAYLIST-TYPE:VOD
    #EXT-X-VERSION:3
    #EXT-X-MEDIA-SEQUENCE:1
    #EXTINF:4.000,
    http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/segment1_0_av.ts
    ...

    I can use ffprobe -hide_banner to show the 1st program’s stream has closed captioning. Ex :

    Duration: 00:02:36.76, start: 0.100511, bitrate: 0 kb/s
     Program 0
       Metadata:
         variant_bitrate : 380000
       Stream #0:0: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 400x228 [SAR 1:1 DAR 100:57], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
       Metadata:
         variant_bitrate : 380000
       Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, fltp, 48 kb/s
       Metadata:
         variant_bitrate : 380000

    However, as you can see, Program 0 > Stream 0 just says that is has Closed captions - it does not list the type/spec of closed captioning technology being used.

    How do I display the format of the Closed Captions ?