
Recherche avancée
Médias (3)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (59)
-
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 -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)
Sur d’autres sites (7748)
-
HOW TO APPLY TRANSITION EFFECTS IN FFMPEG ? [closed]
8 janvier 2023, par SMARTI have 7 videos with audio, i tried to apply transition effects on these files, written code in python for this , i got error .


python code :
import subprocess as sp


def runffmpeg(cmd):
 try:
 pipe = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.STDOUT,
 universal_newlines=True)
 
 ffmpeg_output, _ = pipe.communicate()
 
 print(ffmpeg_output)
 return (ffmpeg_output)
 
 except sp.CalledProcessError as err:
 print("FFmpeg stdout output on error:\n" + err.output)
 
 def get_duration(fn):
 cmd = (
 f"ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 {fn}")
 
 cmd1 = (
 f"ffprobe -v error -of flat=s_ -select_streams 1 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 {fn}")
 try:
 pipe = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.STDOUT,
 universal_newlines=True)
 
 viddur, _ = pipe.communicate()
 
 print(viddur)
 
 pipe = sp.Popen(cmd1, stdout=sp.PIPE, stderr=sp.STDOUT,
 universal_newlines=True)
 
 auddur, _ = pipe.communicate()
 
 try:
 auddur = float(auddur.strip())
 except:
 auddur = 0
 
 print(auddur)
 
 # if (len(auddur) == 0):
 # auddur = 0
 
 return float(viddur.strip()), (auddur)
 
 except sp.CalledProcessError as err:
 print("FFmpeg stdout output on error:\n" + err.output)
 
 
 def trans(clips, effects, out="trans.mp4"):
 filtc = " [v1][v2]xfade=wipedown:duration=1:offset=4[x1];"
 i = 0
 fcv = ""
 fca = ""
 d1 = 0
 af = ""
 dur = []
 aud = []
 inp = ""
 j = 0
 print(len(clips))
 
 for x in clips:
 print(x[0])
 inp = (inp + " -i " + x)
 
 print(effects[0])
 print(x)
 
 v, a = get_duration(fn=x)
 dur.append(v)
 
 k = 0
 for x in dur:
 
 if (k == 0):
 fca = (fca + f"[{k}:a]adelay=0|0 [a{k+1}];")
 else:
 fca = (fca + f"[{k}:a]adelay={d1}|{d1} [a{k+1}];")
 aud.append(f"[a{k+1}]")
 k = (k+1)
 d1 = (d1+((x*1000)+3.5))
 
 d1 = 0
 for x in efects:
 for v in range(0, j+1, +1):
 d1 = (d1 + dur[v])
 d1 = (d1-((v+1)*3.5))
 # [0:a]adelay=0|0 [a1];
 if (i > 1):
 
 try:
 fcv = (
 fcv+f"[x{(i)}][{(i)}:v]xfade={x}:duration=3:offset={d1} [x{(i+1)}];")
 except:
 pass
 else:
 print("j = %d" % j)
 fcv = (
 fcv+f"[{(i)}:v][{(i+1)}:v]xfade={x}:duration=3:offset={d1} [x{(i+1)}];")
 
 j = (j+1)
 i = (i+1)
 
 for a in aud:
 af = (af+a)
 af = (af+f"amix=inputs={len(aud)} [faud]")
 
 inp = (inp+" -filter_complex \"")
 cmd = (
 f"ffmpeg {inp} {fcv} {fca} {af} \" -pix_fmt yuv420p -map \"[x{i}]\" -map \"[faud]\" -y {out}")
 
 print(cmd)
 
 try:
 pipe = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.STDOUT,
 universal_newlines=True)
 
 ffmpeg_output, _ = pipe.communicate()
 
 print(ffmpeg_output)
 
 except sp.CalledProcessError as err:
 print("FFmpeg stdout output on error:\n" + err.output)
 
 



these functions creates ffmpeg code like :
ffmpeg -i out1.mp4 -i out2.mp4 -i out3.mp4 -i out4.mp4 -i out5.mp4 -i out6.mp4 -i out7.mp4 -filter_complex " [0:v][1:v]xfade=wipedown:duration=3:offset=6.006009000000001 [x1] ;[1:v][2:v]xfade=dissolve:duration=3:offset=14.030023 [x2] ;[x2][2:v]xfade=pixelize:duration=3:offset=20.572042000000003 [x3] ;[x3][3:v]xfade=vuslice:duration=3:offset=21.621068000000008 [x4] ;[x4][4:v]xfade=radial:duration=3:offset=14.188099000000015 [x5] ;[x5][5:v]xfade=vertopen:duration=3:offset=-5.737862999999978 [x6] ; [0:a]adelay=0|0 [a1] ;[1:a]adelay=9509.509|9509.509 [a2] ;[2:a]adelay=18531.014000000003|18531.014000000003 [a3] ;[3:a]adelay=27552.519000000004|27552.519000000004 [a4] ;[4:a]adelay=36063.026000000005|36063.026000000005 [a5] ;[5:a]adelay=45084.531|45084.531 [a6] ;[6:a]adelay=53595.038|53595.038 [a7] ; [a1][a2][a3][a4][a5][a6][a7]amix=inputs=7 [faud] " -pix_fmt yuv420p -map "[x6]" -map "[faud]" -y trans.mp4


this ffmpeg command generates error :


ffmpeg version 2022-12-25-git-eeb280f351-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
 built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 libavutil 57. 43.100 / 57. 43.100
 libavcodec 59. 55.103 / 59. 55.103
 libavformat 59. 34.102 / 59. 34.102
 libavdevice 59. 8.101 / 59. 8.101
 libavfilter 8. 53.100 / 8. 53.100
 libswscale 6. 8.112 / 6. 8.112
 libswresample 4. 9.100 / 4. 9.100
 libpostproc 56. 7.100 / 56. 7.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.34.102
 Duration: 00:00:09.51, start: 0.000000, bitrate: 1358 kb/s
 Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1303 kb/s, 26.94 fps, 25 tbr, 1000k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc59.55.103 libx264
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 51 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
 Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'out2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.34.102
 Duration: 00:00:09.02, start: 0.000000, bitrate: 1060 kb/s
 Stream #1:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1007 kb/s, 26.73 fps, 25 tbr, 1000k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc59.55.103 libx264
 Stream #1:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 47 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
 Input #2, mov,mp4,m4a,3gp,3g2,mj2, from 'out3.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.34.102
 Duration: 00:00:09.02, start: 0.000000, bitrate: 1228 kb/s
 Stream #2:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1178 kb/s, 26.73 fps, 25 tbr, 1000k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc59.55.103 libx264
 Stream #2:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 46 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
 Input #3, mov,mp4,m4a,3gp,3g2,mj2, from 'out4.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.34.102
 Duration: 00:00:08.51, start: 0.000000, bitrate: 987 kb/s
 Stream #3:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 938 kb/s, 26.57 fps, 25 tbr, 1000k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc59.55.103 libx264
 Stream #3:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 43 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
 Input #4, mov,mp4,m4a,3gp,3g2,mj2, from 'out5.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.34.102
 Duration: 00:00:09.02, start: 0.000000, bitrate: 1221 kb/s
 Stream #4:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1170 kb/s, 26.73 fps, 25 tbr, 1000k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc59.55.103 libx264
 Stream #4:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 47 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
 Input #5, mov,mp4,m4a,3gp,3g2,mj2, from 'out6.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.34.102
 Duration: 00:00:08.51, start: 0.000000, bitrate: 1073 kb/s
 Stream #5:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1027 kb/s, 26.57 fps, 25 tbr, 1000k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc59.55.103 libx264
 Stream #5:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 41 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
 Input #6, mov,mp4,m4a,3gp,3g2,mj2, from 'out7.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.34.102
 Duration: 00:00:09.02, start: 0.000000, bitrate: 757 kb/s
 Stream #6:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 705 kb/s, 26.73 fps, 25 tbr, 1000k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc59.55.103 libx264
 Stream #6:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 46 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
 Filter xfade:default has an unconnected output



Filter xfade:default has an unconnected output , what does it mean ?


in adelay area , getting -ve nos , what to do ?


#useage :


vc = ["C1.mp4", "C2.mp4", "C3.mp4", "C4.mp4", "C5.mp4", "C6.mp4", "C7.mp4"]


i = 1
 gc = []
 for x in vc:
 gc.append(f"out{i}.mp4")
 i = (i+1)
 
 print(gc)
 
 trans(clips=gc, effects=efects)



system details :
windows 10 64 bits
python 3.9 64 bits


-
vvcdec : add CTU parser
5 décembre 2023, par Nuo Mi -
FFmpeg - Down-mix AC3 5.1 to Fraunhofer FDK ACC 2.1
5 septembre 2024, par Aida_AidaI'm trying to re-encode some of my old videos to "archive" them.



I do not need to keep the audio 5.1, but I would like to down-mix it to 2.1 instead of Stereo which sounds just too dull.



This is the relevant part which takes care of the down-mix to Stereo and re-encodes the audio, I would like to adjust it to down-mix to 2.1.



-ac 2 -c:a libfdk_aac -vbr 3




I did some research and it seems that there is a
-layouts
switch which does support 2.1, but I don't know, how to use it. What channel should go where ?


Just for illustration and for you to get the whole picture - I'm currently using this script :



#!/bin/bash
for i in *.mkv;
do 
 #Output new files by prepending "x265" to the names

 /cygdrive/c/media-autobuild_suite/local32/bin-video/ffmpeg.exe -y -i "$i" -c:v libx265 -preset slow -b:v 512k -x265-params pass=1 -c:s copy -c:a copy -f matroska NUL && \
 /cygdrive/c/media-autobuild_suite/local32/bin-video/ffmpeg.exe -i "$i" -c:v libx265 -preset slow -b:v 512k -x265-params pass=2 -c:s copy -ac 2 -c:a libfdk_aac -vbr 3 x265_"$i"

done