
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (77)
-
Keeping control of your media in your hands
13 avril 2011, parThe 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, parCertains 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 2013Puis-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 RajkumarDear 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 NDKI 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 fileso 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 abondond3)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 16)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 MalolanI 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_oneI 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 instructioncmovg r3,r8'
/var/folders/2p/0jqlz1c94t537_53qn3h8v9h0000gn/T//cc8Tnpth.s:4422:
Error: bad instructioncmovg r2,r3’
/var/folders/2p/0jqlz1c94t537_53qn3h8v9h0000gn/T//cc8Tnpth.s:4424 :
Error : bad instructioncmovl r1,r3'
/var/folders/2p/0jqlz1c94t537_53qn3h8v9h0000gn/T//cc8Tnpth.s:4426:
Error: bad instructioncmovg r3,r8’ make : ***
[path/to/app/obj/local/armeabi-v7a/objs/ffmpeg/ffmpeg.o]
Error 1I 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 rynopI’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.m3u8Contents 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 : 380000However, 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
?