
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (104)
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...)
Sur d’autres sites (11462)
-
ffmpeg mjpeg -> h.265 smeared color on output video file
14 mars 2023, par BobtheMagicMooseI am converting some old mjpeg videos (stored in .avi container) to h.265 (.mp4 container) but am noticing the colors are smearing. Using the terminal command :


ffmpeg -y -i "input-file.avi" -c:v libx265 -vtag hvc1 "output-file.mp4"


I get the following image (notice how the red and blue are stretched donward). There is a lot of motion in the scene, but the motion is mostly horizontal :




Any idea what might cause this ? The detail and resolution seem fine, just the colors are being interpreted weirdly.


Full output :


ffmpeg version N-105859-g37480b1b85-20220305 Copyright (c) 2000-2022 the FFmpeg developers
 built with gcc 11.2.0 (crosstool-NG 1.24.0.533_681aaef)
 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librist --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20220305
 libavutil 57. 22.100 / 57. 22.100
 libavcodec 59. 21.103 / 59. 21.103
 libavformat 59. 17.102 / 59. 17.102
 libavdevice 59. 5.100 / 59. 5.100
 libavfilter 8. 27.100 / 8. 27.100
 libswscale 6. 5.100 / 6. 5.100
 libswresample 4. 4.100 / 4. 4.100
 libpostproc 56. 4.100 / 56. 4.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'E:\PATH\MVI_0168.AVI':
 Metadata:
 creation_time : 2006-06-14 21:42:10
 software : CanonMVI02
 Duration: 00:00:53.47, start: 0.000000, bitrate: 5203 kb/s
 Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 320x240, 5111 kb/s, 30 fps, 30 tbr, 30 tbn
 Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11024 Hz, mono, u8, 88 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (mjpeg (native) -> hevc (libx265))
 Stream #0:1 -> #0:1 (pcm_u8 (native) -> aac (native))
Press [q] to stop, [?] for help
[aac @ 000001a7ad1aab00] Too many bits 6408.707483 > 6144 per frame requested, clamping to max
x265 [info]: HEVC encoder version 3.5+34-7a5709048
x265 [info]: build info [Windows][GCC 11.2.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main profile, Level-2 (Main tier)
x265 [info]: Thread pool created using 12 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 3 / wpp(4 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
x265 [info]: tools: b-intra strong-intra-smoothing deblock sao
Output #0, mp4, to 'C:\PATH\test.mp4':
 Metadata:
 software : CanonMVI02
 encoder : Lavf59.17.102
 Stream #0:0: Video: hevc (hev1 / 0x31766568), yuvj422p(pc, bt470bg/unknown/unknown, progressive), 320x240, q=2-31, 30 fps, 1000k tbn
 Metadata:
 encoder : Lavc59.21.103 libx265
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 11025 Hz, mono, fltp, 66 kb/s
 Metadata:
 encoder : Lavc59.21.103 aac
frame= 1604 fps=187 q=35.9 Lsize= 1818kB time=00:00:53.49 bitrate= 278.4kbits/s speed=6.23x
video:1438kB audio:348kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 1.811161%
x265 [info]: frame I: 9, Avg QP:28.81 kb/s: 1309.05
x265 [info]: frame P: 361, Avg QP:30.64 kb/s: 599.75
x265 [info]: frame B: 1234, Avg QP:35.12 kb/s: 100.04
x265 [info]: Weighted P-Frames: Y:2.2% UV:1.9%
x265 [info]: consecutive B-frames: 2.7% 1.6% 5.1% 40.5% 50.0%

encoded 1604 frames in 8.57s (187.25 fps), 219.29 kb/s, Avg QP:34.08
[aac @ 000001a7ad1aab00] Qavg: 64427.340



-
How to take frames in real-time in a RTSP streaming ?
30 juin 2018, par guijobI’m trying to grab frames with no delays using
javacv
and I’m kind of confusing how to do it and howjavacv
and other stuff properly work under the hoods.In my example, I have a RTSP streaming running with following configurations :
Codec: H.264
Frame Size: 1280x720
Maximum Frame Rate: 60 fpsIn order to make it happen, I’ve made a thread like following :
public class TakeFrameFromStreamingThread implements Runnable {
private CircularFifoQueue queue;
private Camera camera;
private FFmpegFrameGrabber grabber = null;
public TakeFrameFromStreamingThread(CircularFifoQueue queue, Camera camera) {
try {
this.queue = queue;
this.camera = camera;
this.initGrabber(camera);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void run() {
try {
while (true) {
if (grabber == null) {
initGrabber(camera); // connect
}
Frame frame = null;
frame = grabber.grabImage();
if (frame != null) {
this.queue.add(frame);
} else { // when frame == null then connection has been lost
initGrabber(camera); // reconnect
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void initGrabber(Camera camera) throws Exception {
grabber = new FFmpegFrameGrabber(camera.getURL()); // rtsp url
grabber.setVideoCodec(avcodec.AV_CODEC_ID_H264);
grabber.setOption("rtsp_transport", "tcp");
grabber.setFrameRate(60);
grabber.setImageWidth(camera.getResolution().getWidth());
grabber.setImageHeight(camera.getResolution().getHeight());
grabber.start();
}
}And it seems to work. Anytime I need a frame I
pool
thisqueue
from my main thread.I’ve ended up with this solution solving another issue. I was getting stuck why does calling
grabImage()
every time I need a frame has returned just next frame instead of a real-time frame from streaming.By this solution, I’m guessing there is a buffer which
javacv
(orffmpeg
idk) fills with frames and thengrabImage()
just get a frame from this buffer. So it’s my first question :1) Is that right ? Does
ffmpeg
relies on a buffer to store frames and thengrab()
just get it from there ?Well, if that is a truth, then this buffer must be filled at some rate and, of course, if this rate is greater than my
grabImage()
calls rate, eventually I’ll lose my real-time feature and soon I’ll be even losing frames once buffer gets completely filled.In this scenario, my
grabImage()
takes about 50 ms, which gives me 20 fps rate getting frames from this buffer. Hence, I need to make sureffmpeg
is receiving frames at most 20 fps. So here’s my second question :2) How to know and change
ffmpeg
buffer rate ? I’m guessing it’s getting filled at a same rate of streaming (60 fps) or from propertygrabber.setFrameRate()
. At all, I’m not sure if I should use grabber setters with same values from source streaming. -
ffmpeg wrong framerate when converting x264 to x265
11 avril 2023, par AndreasI want to convert the video files from my Samsung phone to a more efficient format. Samsung uses x264 with a very high bitrate, instead I am using x265 with the following settings :


ffmpeg -i IN.mp4 -c:v libx265 -c:a copy -x265-params crf=25 OUT.mp4



However, there seems to be a problem with the framerate. Samsung specifies 60 fps in the metadata, but the video stream shows 29.95 fps.
If I use the above command to convert to x265, it even outputs a stream with 120 fps. ffmpeg also shows the warning "More than 1000 frames duplicated".


How can I keep the original framerate ?


Here is the ffmpeg output :


ffmpeg -i IN.mp4 -c:v libx265 -c:a copy -x265-params crf=25 OUT.mp4
ffmpeg version N-110223-gb18a9c2971-20230410 Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 12.2.0 (crosstool-NG 1.25.0.152_89671bf)
 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --disable-libmfx --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20230410
 libavutil 58. 6.100 / 58. 6.100
 libavcodec 60. 9.100 / 60. 9.100
 libavformat 60. 4.101 / 60. 4.101
 libavdevice 60. 2.100 / 60. 2.100
 libavfilter 9. 5.100 / 9. 5.100
 libswscale 7. 2.100 / 7. 2.100
 libswresample 4. 11.100 / 4. 11.100
 libpostproc 57. 2.100 / 57. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IN.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2023-03-17T13:51:19.000000Z
 com.android.version: 13
 com.android.capture.fps: 60.000000
 Duration: 00:01:16.64, start: 0.000000, bitrate: 26864 kb/s
 Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080, 26603 kb/s, 29.95 fps, 120 tbr, 90k tbn (default)
 Metadata:
 creation_time : 2023-03-17T13:51:19.000000Z
 handler_name : VideoHandle
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
 Metadata:
 creation_time : 2023-03-17T13:51:19.000000Z
 handler_name : SoundHandle
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
 Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
x265 [info]: HEVC encoder version 3.5+95-38cf1c379
x265 [info]: build info [Windows][GCC 12.2.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main profile, Level-5 (Main tier)
x265 [info]: Thread pool created using 16 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 4 / wpp(17 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-25.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
x265 [info]: tools: b-intra strong-intra-smoothing lslices=6 deblock sao
Output #0, mp4, to 'OUT.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 com.android.capture.fps: 60.000000
 com.android.version: 13
 encoder : Lavf60.4.101
 Stream #0:0(eng): Video: hevc (hev1 / 0x31766568), yuv420p(tv, bt709, progressive), 1920x1080, q=2-31, 120 fps, 15360 tbn (default)
 Metadata:
 creation_time : 2023-03-17T13:51:19.000000Z
 handler_name : VideoHandle
 vendor_id : [0][0][0][0]
 encoder : Lavc60.9.100 libx265
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
 Metadata:
 creation_time : 2023-03-17T13:51:19.000000Z
 handler_name : SoundHandle
 vendor_id : [0][0][0][0]
[vost#0:0/libx265 @ 00000249776f1440] More than 1000 frames duplicated40.0kbits/s dup=991 drop=0 speed=0.484x
frame= 9197 fps= 52 q=37.0 Lsize= 32338kB time=00:01:16.61 bitrate=3457.6kbits/s dup=6902 drop=0 speed=0.43x
video:29752kB audio:2393kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 0.600966%
x265 [info]: frame I: 79, Avg QP:25.98 kb/s: 25459.52
x265 [info]: frame P: 2332, Avg QP:31.54 kb/s: 9763.15
x265 [info]: frame B: 6786, Avg QP:36.46 kb/s: 653.28
x265 [info]: Weighted P-Frames: Y:5.5% UV:5.3%

encoded 9197 frames in 177.98s (51.68 fps), 3176.26 kb/s, Avg QP:35.12