
Recherche avancée
Autres articles (32)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
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 ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (4675)
-
Blank video as the result of converting from bmp ffmpeg [duplicate]
1er juin 2021, par Артур Клочко

Update


I'm sorry, as I wrote I tried to play video via different variants and got nothing, but now I send it to myself via Telegram app, and it displays there correctly. It plays via Chrome also. Seems it is not the ffmpeg problem.


I uploaded it to my site, if you are not aware, please check it via stupid uwp app or Windows Media player if you are using Windows, and if you have the same problem, please feedback and I will report it as a bug





Recently I have been using ffmpeg to convert
jpg
file set tomp4
, and it was successfully. I used the next.bat
file to do it :

ffmpeg -framerate 60 -i out\%%d.jpg render.mp4



Now, I am trying to do the same, but with
bmp
files, generated as screenshots using WinApi. Images as themselves are absolutely correct - I can open them via photos app, or anything else. Images resolution is constant and equals 2002x773.

So now I am using the same
.bat
to make video :

ffmpeg -framerate 60 -i out\%%d.bmp render.mp4



It generates a tiny-size video (17 kb, for 10 bmp images, 5 mb each), that is opening by UWP video app or Windows Media program, but nothing is happening - no errors, yet no video length. If there are more images, the result video size also increases, but the video still doesn't play.


Full output from ffmpeg :


ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 9.2.1 (GCC) 20200122
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, image2, from 'rnd\%d.bmp':
 Duration: 00:00:00.17, start: 0.000000, bitrate: N/A
 Stream #0:0: Video: bmp, bgra, 2002x773, 60 tbr, 60 tbn, 60 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (bmp (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 052fed40] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2
[libx264 @ 052fed40] profile High 4:4:4 Predictive, level 4.2, 4:4:4, 8-bit
[libx264 @ 052fed40] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'caev.mp4':
 Metadata:
 encoder : Lavf58.29.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv444p, 2002x773, q=-1--1, 60 fps, 15360 tbn, 60 tbc
 Metadata:
 encoder : Lavc58.54.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame= 10 fps=0.0 q=-1.0 Lsize= 16kB time=00:00:00.11 bitrate=1142.4kbits/s speed=0.151x
video:15kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 6.097639%
[libx264 @ 052fed40] frame I:1 Avg QP:18.80 size: 6840
[libx264 @ 052fed40] frame P:4 Avg QP:25.73 size: 1517
[libx264 @ 052fed40] frame B:5 Avg QP:35.54 size: 426
[libx264 @ 052fed40] consecutive B-frames: 20.0% 40.0% 0.0% 40.0%
[libx264 @ 052fed40] mb I I16..4: 21.1% 76.3% 2.6%
[libx264 @ 052fed40] mb P I16..4: 0.6% 0.3% 0.3% P16..4: 0.9% 0.6% 0.1% 0.0% 0.0% skip:97.0%
[libx264 @ 052fed40] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 4.0% 0.2% 0.0% direct: 0.0% skip:95.6% L0:34.5% L1:64.6% BI: 0.9%
[libx264 @ 052fed40] 8x8 transform intra:73.8% inter:10.2%
[libx264 @ 052fed40] coded y,u,v intra: 1.8% 1.5% 1.5% inter: 0.1% 0.1% 0.1%
[libx264 @ 052fed40] i16 v,h,dc,p: 52% 47% 1% 0%
[libx264 @ 052fed40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 47% 45% 8% 0% 0% 0% 0% 0% 0%
[libx264 @ 052fed40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 31% 32% 3% 0% 1% 2% 5% 2%
[libx264 @ 052fed40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 052fed40] ref P L0: 75.8% 4.1% 15.8% 4.3%
[libx264 @ 052fed40] ref B L0: 63.5% 34.8% 1.7%
[libx264 @ 052fed40] ref B L1: 97.6% 2.4%
[libx264 @ 052fed40] kb/s:721.78



-
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.
-
Reduce latency in ffmpeg snapshot
3 décembre 2015, par Acorian0I have a latency problem with FFMPEG.
I have a streaming server running and I occasionally need to take multiple snapshots over a period of time (in the example below, 5s), and then examine the snapshots taken. Time is critical.
With this command I take 25 frames per second over 5 seconds, meaning I will have 125 snapshots in my folder.
ffmpeg.exe -ss 0.05 -re -i udp://239.255.0.xx:xxxx -ss 0 -vf fps=25 -to 5 -y \Test\%5d.jpg
The
-vf fps
is forcing the 25 frames per second even if the server can’t provide them.The problem is that
-ss 0.05
is not doing its job. It is supposed to delay the initial snapshot for 50 milliseconds but FFMPEG takes around 200ms to "start" the service on itself :/. This means the first snapshot is taken after around 200ms after I called the service. (200ms is way too big of a latency for my purpose... I can survive with 100ms)How can I force FFMPEG to start taking snapshots earlier ? Or is there a way to get snapshots, let’s say, from the buffer (e.g. start taking snapshots 150ms in the past) ?
PS : Changing the
-ss
from 0.05 to 0.00 is not doing anything, I can only see the-ss
doing something if the value is bigger than 0.2/0.25. Another thing, using a newer version of FFMPEG is by now impossibleSample OUTPUT :
ffmpeg version 2.4.5 Copyright (c) 2000-2014 the FFmpeg developers
built on Dec 30 2014 14:53:50 with gcc 4.9.2 (GCC)
configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32thread
s --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-icon
v --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable
-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencor
e-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-l
ibschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-li
bvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-l
ibwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --ena
ble-lzma --enable-decklink --enable-zlib
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
[mpeg2video @ 01d77120] Invalid frame dimensions 0x0.
Input #0, mpegts, from 'udp://239.255.0.14:5014':
Duration: N/A, start: 159.051978, bitrate: 105241 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: mpeg1video ([2][0][0][0] / 0x0002), yuv420p(tv), 1920x1080 [SAR 1:1 D
AR 16:9], 104857 kb/s, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 384 kb/s
[swscaler @ 01d70060] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'C:\Test\%5d.jpg':
Metadata:
encoder : Lavf56.4.101
Stream #0:0: Video: mjpeg, yuvj420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25
tbn, 25 tbc
Metadata:
encoder : Lavc56.1.100 mjpeg
Stream mapping:
Stream #0:0 -> #0:0 (mpeg1video (native) -> mjpeg (native))
Press [q] to stop, [?] for help
frame= 125 fps= 25 q=24.8 Lsize=N/A time=00:00:05.00 bitrate=N/A dup=1 drop=0
video:9710kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown