
Recherche avancée
Médias (91)
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
-
USGS Real-time Earthquakes
8 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
SWFUpload Process
6 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
-
Creativecommons informational flyer
16 mai 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (71)
-
Submit enhancements and plugins
13 avril 2011If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone. -
Script d’installation automatique de MediaSPIP
25 avril 2011, parAfin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
La documentation de l’utilisation du script d’installation (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (4348)
-
FFMPEG on AWS Lambda Only outputs half a second of video when converting video from mobile safari
18 août 2023, par user1825257I am running FFMPEG on AWS Lambda using nodejs and fluent-ffmpeg. I am able to convert videos recorded on most devices / browsers, but when I attempt to convert videos recorded on Mobile Safari, the length of the output video is 1/2 a second regardless of the input length.


My Typescript code is :


import * as ffmpeg from 'fluent-ffmpeg';
 public static StandardizeVideoFormat(
 inputSignedUrl: string,
 filename: string,
 ): Promise<string> {
 const localFilePath = `/tmp/${Date.now()}_${filename}.mp4`;
 
 return new Promise((resolve, reject) => {
 ffmpeg(inputSignedUrl)
 .outputOptions([
 '-crf',
 '18',
 '-vcodec',
 'libx264',
 '-codec:a',
 'aac',
 '-preset',
 'medium',
 ])
 .output(localFilePath)
 .on('start', function (commandLine) {
 console.log('Spawned Ffmpeg with command: ' + commandLine);
 })
 .on('error', function (err) {
 reject(err);
 })
 .on('progress', function (progress) {
 console.log('progress', progress);
 })
 .on('end', function () {
 resolve(localFilePath);
 })
 .run();
 });
 }
</string>


Using FFprobe, The metadata of the input file is :


{
 streams: [
 {
 index: 0,
 codec_name: 'h264',
 codec_long_name: 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10',
 profile: 'Baseline',
 codec_type: 'video',
 codec_tag_string: 'avc1',
 codec_tag: '0x31637661',
 width: 1920,
 height: 1080,
 coded_width: 1920,
 coded_height: 1080,
 closed_captions: 0,
 film_grain: 0,
 has_b_frames: 0,
 sample_aspect_ratio: 'N/A',
 display_aspect_ratio: 'N/A',
 pix_fmt: 'yuvj420p',
 level: 40,
 color_range: 'pc',
 color_space: 'unknown',
 color_transfer: 'unknown',
 color_primaries: 'unknown',
 chroma_location: 'left',
 field_order: 'progressive',
 refs: 1,
 is_avc: 'true',
 nal_length_size: 4,
 id: '0x1',
 r_frame_rate: '30000/1001',
 avg_frame_rate: '60000/1991',
 time_base: '1/600',
 start_pts: 26,
 start_time: 0.043333,
 duration_ts: 4008,
 duration: 6.68,
 bit_rate: 10175170,
 max_bit_rate: 'N/A',
 bits_per_raw_sample: 8,
 nb_frames: 'N/A',
 nb_read_frames: 'N/A',
 nb_read_packets: 'N/A',
 extradata_size: 31,
 side_data_type: 'Display Matrix',
 displaymatrix: '',
 rotation: '-90',
 tags: [Object],
 disposition: [Object]
 },
 {
 index: 1,
 codec_name: 'aac',
 codec_long_name: 'AAC (Advanced Audio Coding)',
 profile: 'LC',
 codec_type: 'audio',
 codec_tag_string: 'mp4a',
 codec_tag: '0x6134706d',
 sample_fmt: 'fltp',
 sample_rate: 48000,
 channels: 1,
 channel_layout: 'mono',
 bits_per_sample: 0,
 initial_padding: 0,
 id: '0x2',
 r_frame_rate: '0/0',
 avg_frame_rate: '0/0',
 time_base: '1/48000',
 start_pts: 0,
 start_time: 0,
 duration_ts: 319488,
 duration: 6.656,
 bit_rate: 181302,
 max_bit_rate: 'N/A',
 bits_per_raw_sample: 'N/A',
 nb_frames: 'N/A',
 nb_read_frames: 'N/A',
 nb_read_packets: 'N/A',
 extradata_size: 2,
 tags: [Object],
 disposition: [Object]
 }
 ],
 format: {
 filename: 'input.mp4',
 nb_streams: 2,
 nb_programs: 0,
 format_name: 'mov,mp4,m4a,3gp,3g2,mj2',
 format_long_name: 'QuickTime / MOV',
 start_time: 0,
 duration: 6.723333,
 size: 8651792,
 bit_rate: 10294646,
 probe_score: 100,
 tags: {
 major_brand: 'iso5',
 minor_version: '1',
 compatible_brands: 'isomiso5hlsf',
 creation_time: '2023-08-05T19:03:15.000000Z'
 }
 },
 chapters: []
}



Any ideas on why the output of my command on this file always results in a 0.5 second long output ?


-
The 7 GDPR Principles : A Guide to Compliance
11 août 2023, par Erin — Analytics Tips, GDPR -
How to resize dimensions of video through ffmpeg-python ?
25 janvier, par kunambiI'm trying to resize a video file which a user has uploaded to Django, by using
ffmpeg-python
. The documentation isn't very easy to understand, so I've tried to cobble this together from various sources.

This method is run in a celery container, in order to not slow the experience for the user. The problem I'm facing is that I can't seem to resize the video file. I've tried two different approaches :


from django.db import models
from io import BytesIO
from myapp.models import MediaModel


def resize_video(mypk: str) -> None:
 instance = MediaModel.objects.get(pk=mypk)
 media_instance: models.FileField = instance.media
 media_output = "test.mp4"
 buffer = BytesIO()

 for chunk in media_instance.chunks():
 buffer.write(chunk)

 stream_video = ffmpeg.input("pipe:").video.filter("scale", 720, -1) # resize to 720px width
 stream_audio = ffmpeg.input("pipe:").audio
 process = (
 ffmpeg.output(stream_video, stream_audio, media_output, acodec="aac")
 .overwrite_output()
 .run_async(pipe_stdin=True, quiet=True)
 )
 buffer.seek(0)
 process_out, process_err = process.communicate(input=buffer.getbuffer())
 # (pdb) process_out
 # b''

 # attempting to use `.concat` instead
 process2 = (
 ffmpeg.concat(stream_video, stream_audio, v=1, a=1)
 .output(media_output)
 .overwrite_output()
 .run_async(pipe_stdin=True, quiet=True)
 )
 buffer.seek(0)
 process2_out, process2_err = process2.communicate(input=buffer.getbuffer())
 # (pdb) process2_out
 # b''



As we can see, no matter which approach chosen, the output is an empty binary. The
process_err
andprocess2_err
both generate the following message :

ffmpeg version N-111491-g31979127f8-20230717 Copyright (c) 2000-2023 the
FFmpeg developers
 built with gcc 13.1.0 (crosstool-NG 1.25.0.196_227d99d)
 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 --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=20230717
 libavutil 58. 14.100 / 58. 14.100
 libavcodec 60. 22.100 / 60. 22.100
 libavformat 60. 10.100 / 60. 10.100
 libavdevice 60. 2.101 / 60. 2.101
 libavfilter 9. 8.102 / 9. 8.102
 libswscale 7. 3.100 / 7. 3.100
 libswresample 4. 11.100 / 4. 11.100
 libpostproc 57. 2.100 / 57. 2.100
 "Input #0, mov,mp4,m4a,3gp,3g2,mj2, frompipe:':\r\n"
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41
 creation_time : 2020-11-10T15:01:09.000000Z
 Duration: 00:00:04.16, start: 0.000000, bitrate: N/A
 Stream #0:0[0x1](eng): Video: h264 (Main) (avc1 / 0x31637661),
yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 2649 kb/s, 25 fps, 25
tbr, 25k tbn (default)
 Metadata:
 creation_time : 2020-11-10T15:01:09.000000Z
 handler_name : ?Mainconcept Video Media Handler
 vendor_id : [0][0][0][0]
 encoder : AVC Coding
 Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 317 kb/s (default)
 Metadata:
 creation_time : 2020-11-10T15:01:09.000000Z
 handler_name : #Mainconcept MP4 Sound Media Handler
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 (h264) -> scale:default (graph 0)
 scale:default (graph 0) -> Stream #0:0 (libx264)
 Stream #0:1 -> #0:1 (aac (native) -> aac (native))
[libx264 @ 00000243a23a1100] using SAR=1/1
[libx264 @ 00000243a23a1100] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 00000243a23a1100] profile High, level 3.0, 4:2:0, 8-bit
[libx264 @ 00000243a23a1100] 264 - core 164 - H.264/MPEG-4 AVC codec -
Copyleft 2003-2023 - 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=-2 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, toaa37f8d7685f4df9af85b1cdcd95997e.mp4':\r\n"
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41
 encoder : Lavf60.10.100
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, progressive),
800x450 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 12800 tbn
 Metadata:
 encoder : Lavc60.22.100 libx264
 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, 128 kb/s (default)
 Metadata:
 creation_time : 2020-11-10T15:01:09.000000Z
 handler_name : #Mainconcept MP4 Sound Media Handler
 vendor_id : [0][0][0][0]
 encoder : Lavc60.22.100 aac
frame= 0 fps=0.0 q=0.0 size= 0kB time=N/A bitrate=N/A
speed=N/A \r'
frame= 21 fps=0.0 q=28.0 size= 0kB time=00:00:02.75 bitrate= 
0.1kbits/s speed=4.75x \r'
[out#0/mp4 @ 00000243a230bd80] video:91kB audio:67kB subtitle:0kB other
streams:0kB global headers:0kB muxing overhead: 2.838559%
frame= 104 fps=101 q=-1.0 Lsize= 162kB time=00:00:04.13 bitrate=
320.6kbits/s speed=4.02x 
[libx264 @ 00000243a23a1100] frame I:1 Avg QP:18.56 size: 2456
[libx264 @ 00000243a23a1100] frame P:33 Avg QP:16.86 size: 1552
[libx264 @ 00000243a23a1100] frame B:70 Avg QP:17.55 size: 553
[libx264 @ 00000243a23a1100] consecutive B-frames: 4.8% 11.5% 14.4%
69.2%
[libx264 @ 00000243a23a1100] mb I I16..4: 17.3% 82.1% 0.6%
[libx264 @ 00000243a23a1100] mb P I16..4: 5.9% 15.2% 0.4% P16..4: 18.3% 
0.9% 0.4% 0.0% 0.0% skip:58.7%
[libx264 @ 00000243a23a1100] mb B I16..4: 0.8% 0.3% 0.0% B16..8: 15.4% 
1.0% 0.0% direct: 3.6% skip:78.9% L0:34.2% L1:64.0% BI: 1.7%
[libx264 @ 00000243a23a1100] 8x8 transform intra:68.2% inter:82.3%
[libx264 @ 00000243a23a1100] coded y,uvDC,uvAC intra: 4.2% 18.4% 1.2% inter:
1.0% 6.9% 0.0%
[libx264 @ 00000243a23a1100] i16 v,h,dc,p: 53% 25% 8% 14%
[libx264 @ 00000243a23a1100] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 6% 70% 1% 
1% 1% 1% 0% 0%
[libx264 @ 00000243a23a1100] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 46% 21% 15% 2% 
5% 4% 3% 3% 1%
[libx264 @ 00000243a23a1100] i8c dc,h,v,p: 71% 15% 13% 1%
[libx264 @ 00000243a23a1100] Weighted P-Frames: Y:30.3% UV:15.2%
[libx264 @ 00000243a23a1100] ref P L0: 46.7% 7.5% 34.6% 7.3% 3.9%
[libx264 @ 00000243a23a1100] ref B L0: 88.0% 10.5% 1.5%
[libx264 @ 00000243a23a1100] ref B L1: 98.1% 1.9%
[libx264 @ 00000243a23a1100] kb/s:177.73
[aac @ 00000243a23a2e00] Qavg: 1353.589



I'm at a loss right now, would love any feedback/solution.