
Recherche avancée
Médias (1)
-
Somos millones 1
21 juillet 2014, par
Mis à jour : Juin 2015
Langue : français
Type : Video
Autres articles (48)
-
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 -
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 -
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 (7224)
-
Fastest way to extract moving dynamic crop from video using ffmpeg
5 avril 2024, par NateWI'm working on an AI project that involves object detection and action recognition on roughly 30 minute videos.


My pipeline is the following :


- 

- determine crops using object detection model
- extract crops using Python and write them to disk as individual images for each frame.
- use action recognition model by inputting a series of the crops.








The models are fast but actual writing of the crops to disk is slow. Sure, using an SSD would speed it up but I'm sure ffmpeg would greatly speed it up.


Some of the challenges with the crops :


- 

- the output size is always 128x128
- the input size is variable
- the crop moves on every frame








My process for extracting crops is simple using
cv2.imwrite(output_crop_path, crop)
in a for loop.

I've done experiments trying to use
sndcommand
andfilter_complex
. I tried this https://stackoverflow.com/a/67508233/4447761 but it outputs an image with black below the crop and the image gets wrapped around on the x axis.



-
FFmpeg corrupted output from concatenation
25 juillet 2021, par ManumitEDIT/UPDATE : current solution is to run this code on all files
ffmpeg -i up.mp4 -vf scale=1920:1080 -crf 22 reUP.mp4
so resolution, but also frames per second match.



I used to be able to open CMD, type
CD C:\Users\...
and thenffmpeg -f concat -safe 0 -i xmylist.txt -crf 22 -c copy x1.mp4




The recording are from same phone, some from front cam, some from back cam. I understand this could cause non-identical problems ? but it worked fine until recently.


Now the output is corrupted with this log :

The individual video files play just fine, so does most of the concatted output, but some sections become like this and freeze :


-
Building a shared library from static libraries for ffmpeg 2.5.2
7 janvier 2015, par abijinxI am currently building a shared library for ffmpeg as myffmpeg.so using ffmpeg 0.8.6. I am achieving by combining static libs of individual modules of ffmpeg, along with a few additional static libraries. The main makefile used is as follows :
LOCAL_PATH := $(call my-dir)
include $(LOCAL_PATH)/Android_Files.mk
include $(CLEAR_VARS)
LOCAL_MODULE:= libavcodec
LOCAL_SRC_FILES:= $(MY_AVCODEC_FILES)
include $(LOCAL_PATH)/Android_Common.mk
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavfilter
LOCAL_SRC_FILES:= $(MY_AVFILTER_FILES)
include $(LOCAL_PATH)/Android_Common.mk
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavformat
LOCAL_SRC_FILES:= $(MY_AVFORMAT_FILES)
include $(LOCAL_PATH)/Android_Common.mk
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavutil
LOCAL_SRC_FILES:= $(MY_AVUTIL_FILES)
include $(LOCAL_PATH)/Android_Common.mk
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libswscale
LOCAL_SRC_FILES:= $(MY_SWSCALE_FILES)
include $(LOCAL_PATH)/Android_Common.mk
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= ffmpeg_myc
LOCAL_SRC_FILES:= ffmpeg.c cmdutils.c
include $(LOCAL_PATH)/Android_Common.mk
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := myffmpeg
LOCAL_WHOLE_STATIC_LIBRARIES := libavcodec libavfilter libavformat libavutil libswscale ffmpeg_c
LOCAL_LDFLAGS += -lz -lm -llog
ifeq ($(FF_ENABLE_AMR),yes)
LOCAL_WHOLE_STATIC_LIBRARIES += opencore-amrnb opencore-amrwb
endif
ifeq ($(FF_ENABLE_AAC),yes)
LOCAL_WHOLE_STATIC_LIBRARIES += vo-aacenc
endif
include $(BUILD_SHARED_LIBRARY)The above makefile uses only few selected source files to get the individual static libs as mentioned in the FF_SOURCE_FILES parameter.Then combines all of those with the additional libs to create a shared library myffmpeg.so.
Now I am trying to get a similar output with ffmpeg 2.5.2 for 64-bit arm architecture. This time I have built the latest ffmpeg using the following configure script and generated the static libraries of different ffmpeg modules like libavcodec.a, libavfilter.a, etc
#!/bin/bash
ABI=aarch64-linux-android
NDK=
SYSROOT=$NDK/platforms/android-21/arch-arm64/
TOOLCHAIN=$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64
CPU=arm64
PREFIX=$(pwd)/android/$CPU
./configure \
--prefix=$PREFIX \
--cc=$TOOLCHAIN/bin/$ABI-gcc \
--enable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-network \
--disable-ffserver \
--disable-devices \
--disable-avdevice \
--disable-swscale-alpha \
--disable-doc \
--disable-symver \
--disable-neon \
--enable-optimizations \
--cross-prefix=$TOOLCHAIN/bin/aarch64-linux-android- \
--target-os=linux \
--arch=arm64 \
--enable-cross-compile \
--sysroot=$SYSROOT
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libvo-aacenc \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make installNow I am trying to combine the generated static libraries i.e
-
libavcodec.a
libavfilter.a
libavformat.a
libavutil.a
libswresample.a
libswscale.a
with -
ffmpeg_myc opencore-amrnb opencore-amrwb
and generate a myffmpeg.so shared library by giving ndk-build.
I tried to paste the generated ffmpeg static libraries from ffmpeg/android folder to obj/local/arm64-v8a (path where are all the static libs were previously created in 0.8.6 according the makefile). I also made changes to the makefile thinking that it will use the already generated ffmpeg libraries. But I found that the size of the generated shared library was too low and that it has not included the generated ffmpeg libs.
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myffmpeg
LOCAL_WHOLE_STATIC_LIBRARIES := libavcodec libavfilter libavformat libavutil libswscale ffmpeg_c
LOCAL_LDFLAGS += -lz -lm -llog
ifeq ($(FF_ENABLE_AMR),yes)
LOCAL_WHOLE_STATIC_LIBRARIES += opencore-amrnb opencore-amrwb
endif
ifeq ($(FF_ENABLE_AAC),yes)
LOCAL_WHOLE_STATIC_LIBRARIES += vo-aacenc
endif
include $(BUILD_SHARED_LIBRARY)I would like to know whether I am going in a right way and have to do some minor changes. Or if I should start with an entirely different approach to achieve this. Any suggestions would be helpful.
Thanks in advance
-