
Recherche avancée
Médias (1)
-
Somos millones 1
21 juillet 2014, par
Mis à jour : Juin 2015
Langue : français
Type : Video
Autres articles (101)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)
Sur d’autres sites (12956)
-
ffmpeg separate images from %3.png format
15 juillet 2020, par Alexander WilkinsonI want to feed an input
-i input%3.png
into a filter graph and then use those inputs in a-filter_complex
like I normally would with[x:v]
or[0:v:x]
where x is the index. Both of those don't work, throwing errors likeInvalid file index 1 in filtergraph description
orstream specifier :v:1 in ... matches no stream


Edit : The log and command, as requested.

ffmpeg -i background.mkv -i comment%3d.png -filter_complex_script filter_complex.txt background-comments.mkv

The filter graph is shown in full below in the error message, but the gist is :
[0:v][1:v] overlay=0:0:enable='background(t,0,1)' [tmp0]; [tmp0][2:v] overlay=0:0:enable='background(t,1,2)' [tmp1]; [tmp1] ...


built with gcc 9.3.1 (GCC) 20200523
 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-libsrt --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-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
 libavutil 56. 50.100 / 56. 50.100
 libavcodec 58. 90.100 / 58. 90.100
 libavformat 58. 44.100 / 58. 44.100
 libavdevice 58. 9.103 / 58. 9.103
 libavfilter 7. 84.100 / 7. 84.100
 libswscale 5. 6.101 / 5. 6.101
 libswresample 3. 6.100 / 3. 6.100
 libpostproc 55. 6.100 / 55. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Background\background.mkv':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp41isom
 creation_time : 2020-07-14T15:38:36.000000Z
 Duration: 00:01:42.49, start: 0.000000, bitrate: 17469 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 17355 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)
 Metadata:
 creation_time : 2020-07-14T15:38:36.000000Z
 handler_name : VideoHandler
 encoder : AVC Coding
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 117 kb/s (default)
 Metadata:
 creation_time : 2020-07-14T15:38:36.000000Z
 handler_name : SoundHandler
Input #1, image2, from 'Working\comment%3d.png':
 Duration: 00:00:03.56, start: 0.000000, bitrate: N/A
 Stream #1:0: Video: png, rgba(pc), 1920x1080, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream specifier ':v:1' in filtergraph description [0:v][1:v:1] overlay=0:0:enable='between(t,0,4.464)' [tmp0]; [tmp0][1:v:2] overlay=0:0:enable='between(t,4.464,6.456)' [tmp1]; [tmp1][1:v:3] overlay=0:0:enable='between(t,6.456,12.120000000000001)' [tmp2]; [tmp2][1:v:4] overlay=0:0:enable='between(t,12.120000000000001,15.96)' [tmp3]; [tmp3][1:v:5] overlay=0:0:enable='between(t,15.96,22.224)' [tmp4]; [tmp4][1:v:6] overlay=0:0:enable='between(t,22.224,30.096)' [tmp5]; [tmp5][1:v:7] overlay=0:0:enable='between(t,30.096,36.264)' [tmp6]; [tmp6][1:v:8] overlay=0:0:enable='between(t,36.264,44.80800000000001)' [tmp7]; [tmp7][1:v:9] overlay=0:0:enable='between(t,44.80800000000001,51.864000000000004)' [tmp8]; [tmp8][1:v:10] overlay=0:0:enable='between(t,51.864000000000004,55.776)' [tmp9]; [tmp9][1:v:11] overlay=0:0:enable='between(t,55.776,61.008)' [tmp10]; [tmp10][1:v:12] overlay=0:0:enable='between(t,61.008,66.24000000000001)' [tmp11]; [tmp11][1:v:13] overlay=0:0:enable='between(t,66.24000000000001,73.34400000000001)' [tmp12]; [tmp12][1:v:14] overlay=0:0:enable='between(t,73.34400000000001,84.888)' [tmp13]; [tmp13][1:v:15] overlay=0:0:enable='between(t,84.888,89.52000000000001)' [tmp14]; [tmp14][1:v:16] overlay=0:0:enable='between(t,89.52000000000001,99.04800000000002)' [tmp15]; [tmp15][1:v:17] overlay=0:0:enable='between(t,99.04800000000002,104.97600000000001)' [tmp16]; [tmp16][1:v:18] overlay=0:0:enable='between(t,104.97600000000001,112.53600000000002)' [tmp17]; [tmp17][1:v:19] overlay=0:0:enable='between(t,112.53600000000002,116.49600000000001)' [tmp18]; [tmp18][1:v:20] overlay=0:0:enable='between(t,116.49600000000001,121.2)' [tmp19]; [tmp19][1:v:21] overlay=0:0:enable='between(t,121.2,121.92)' [tmp20]; [tmp20][1:v:22] overlay=0:0:enable='between(t,121.92,126.768)' [tmp21]; [tmp21][1:v:23] overlay=0:0:enable='between(t,126.768,134.976)' [tmp22]; [tmp22][1:v:24] overlay=0:0:enable='between(t,134.976,137.328)' [tmp23]; [tmp23][1:v:25] overlay=0:0:enable='between(t,137.328,145.68)' [tmp24]; [tmp24][1:v:26] overlay=0:0:enable='between(t,145.68,152.376)' [tmp25]; [tmp25][1:v:27] overlay=0:0:enable='between(t,152.376,158.544)' [tmp26]; [tmp26][1:v:28] overlay=0:0:enable='between(t,158.544,165.38400000000001)' [tmp27]; [tmp27][1:v:29] overlay=0:0:enable='between(t,165.38400000000001,166.22400000000002)' [tmp28]; [tmp28][1:v:30] overlay=0:0:enable='between(t,166.22400000000002,166.94400000000002)' [tmp29]; [tmp29][1:v:31] overlay=0:0:enable='between(t,166.94400000000002,167.85600000000002)' [tmp30]; [tmp30][1:v:32] overlay=0:0:enable='between(t,167.85600000000002,173.23200000000003)' [tmp31]; [tmp31][1:v:33] overlay=0:0:enable='between(t,173.23200000000003,178.72800000000004)' [tmp32]; [tmp32][1:v:34] overlay=0:0:enable='between(t,178.72800000000004,185.18400000000003)' [tmp33]; [tmp33][1:v:35] overlay=0:0:enable='between(t,185.18400000000003,186.00000000000003)' [tmp34]; [tmp34][1:v:36] overlay=0:0:enable='between(t,186.00000000000003,191.73600000000002)' [tmp35]; [tmp35][1:v:37] overlay=0:0:enable='between(t,191.73600000000002,196.39200000000002)' [tmp36]; [tmp36][1:v:38] overlay=0:0:enable='between(t,196.39200000000002,200.88000000000002)' [tmp37]; [tmp37][1:v:39] overlay=0:0:enable='between(t,200.88000000000002,203.64000000000001)' [tmp38]; [tmp38][1:v:40] overlay=0:0:enable='between(t,203.64000000000001,204.36)' [tmp39]; [tmp39][1:v:41] overlay=0:0:enable='between(t,204.36,209.328)' [tmp40]; [tmp40][1:v:42] overlay=0:0:enable='between(t,209.328,210.168)' [tmp41]; [tmp41][1:v:43] overlay=0:0:enable='between(t,210.168,210.888)' [tmp42]; [tmp42][1:v:44] overlay=0:0:enable='between(t,210.888,213.48000000000002)' [tmp43]; [tmp43][1:v:45] overlay=0:0:enable='between(t,213.48000000000002,214.20000000000002)' [tmp44]; [tmp44][1:v:46] overlay=0:0:enable='between(t,214.20000000000002,218.376)' [tmp45]; [tmp45][1:v:47] overlay=0:0:enable='between(t,218.376,220.704)' [tmp46]; [tmp46][1:v:48] overlay=0:0:enable='between(t,220.704,222.84)' [tmp47]; [tmp47][1:v:49] overlay=0:0:enable='between(t,222.84,226.992)' [tmp48]; [tmp48][1:v:50] overlay=0:0:enable='between(t,226.992,227.832)' [tmp49]; [tmp49][1:v:51] overlay=0:0:enable='between(t,227.832,231.28799999999998)' [tmp50]; [tmp50][1:v:52] overlay=0:0:enable='between(t,231.28799999999998,233.04)' [tmp51]; [tmp51][1:v:53] overlay=0:0:enable='between(t,233.04,234.26399999999998)' [tmp52]; [tmp52][1:v:54] overlay=0:0:enable='between(t,234.26399999999998,234.98399999999998)' [tmp53]; [tmp53][1:v:55] overlay=0:0:enable='between(t,234.98399999999998,237.04799999999997)' [tmp54]; [tmp54][1:v:56] overlay=0:0:enable='between(t,237.04799999999997,237.88799999999998)' [tmp55]; [tmp55][1:v:57] overlay=0:0:enable='between(t,237.88799999999998,238.60799999999998)' [tmp56]; [tmp56][1:v:58] overlay=0:0:enable='between(t,238.60799999999998,244.99199999999996)' [tmp57]; [tmp57][1:v:59] overlay=0:0:enable='between(t,244.99199999999996,247.19999999999996)' [tmp58]; [tmp58][1:v:60] overlay=0:0:enable='between(t,247.19999999999996,251.56799999999996)' [tmp59]; [tmp59][1:v:61] overlay=0:0:enable='between(t,251.56799999999996,253.87199999999996)' [tmp60]; [tmp60][1:v:62] overlay=0:0:enable='between(t,253.87199999999996,254.59199999999996)' [tmp61]; [tmp61][1:v:63] overlay=0:0:enable='between(t,254.59199999999996,255.76799999999994)' [tmp62]; [tmp62][1:v:64] overlay=0:0:enable='between(t,255.76799999999994,258.21599999999995)' [tmp63]; [tmp63][1:v:65] overlay=0:0:enable='between(t,258.21599999999995,259.0559999999999)' [tmp64]; [tmp64][1:v:66] overlay=0:0:enable='between(t,259.0559999999999,259.77599999999995)' [tmp65]; [tmp65][1:v:67] overlay=0:0:enable='between(t,259.77599999999995,266.352)' [tmp66]; [tmp66][1:v:68] overlay=0:0:enable='between(t,266.352,268.008)' [tmp67]; [tmp67][1:v:69] overlay=0:0:enable='between(t,268.008,270.69599999999997)' [tmp68]; [tmp68][1:v:70] overlay=0:0:enable='between(t,270.69599999999997,276.74399999999997)' [tmp69]; [tmp69][1:v:71] overlay=0:0:enable='between(t,276.74399999999997,277.58399999999995)' [tmp70]; [tmp70][1:v:72] overlay=0:0:enable='between(t,277.58399999999995,278.304)' [tmp71]; [tmp71][1:v:73] overlay=0:0:enable='between(t,278.304,279.43199999999996)' [tmp72]; [tmp72][1:v:74] overlay=0:0:enable='between(t,279.43199999999996,282.50399999999996)' [tmp73]; [tmp73][1:v:75] overlay=0:0:enable='between(t,282.50399999999996,283.34399999999994)' [tmp74]; [tmp74][1:v:76] overlay=0:0:enable='between(t,283.34399999999994,284.06399999999996)' [tmp75]; [tmp75][1:v:77] overlay=0:0:enable='between(t,284.06399999999996,285.19199999999995)' [tmp76]; [tmp76][1:v:78] overlay=0:0:enable='between(t,285.19199999999995,287.376)' [tmp77]; [tmp77][1:v:79] overlay=0:0:enable='between(t,287.376,292.008)' [tmp78]; [tmp78][1:v:80] overlay=0:0:enable='between(t,292.008,297.47999999999996)' [tmp79]; [tmp79][1:v:81] overlay=0:0:enable='between(t,297.47999999999996,298.84799999999996)' [tmp80]; [tmp80][1:v:82] overlay=0:0:enable='between(t,298.84799999999996,302.544)' [tmp81]; [tmp81][1:v:83] overlay=0:0:enable='between(t,302.544,303.38399999999996)' [tmp82]; [tmp82][1:v:84] overlay=0:0:enable='between(t,303.38399999999996,304.104)' [tmp83]; [tmp83][1:v:85] overlay=0:0:enable='between(t,304.104,309.47999999999996)' [tmp84]; [tmp84][1:v:86] overlay=0:0:enable='between(t,309.47999999999996,312.47999999999996)' [tmp85]; [tmp85][1:v:87] overlay=0:0:enable='between(t,312.47999999999996,318.62399999999997)' [tmp86]; [tmp86][1:v:88] overlay=0:0:enable='between(t,318.62399999999997,323.688)' [tmp87]; [tmp87][1:v:89] overlay=0:0:enable='between(t,323.688,325.392)' matches no streams.```



-
How to get frames from HDR video in scRGB color space ?
5 mars 2018, par Виталий СинявскийI want to create a simple video player that will show HDR video on HDR TV. For example, this "LG Chess HDR" video. It is encoded with HEVC, its bit depth is 10 bit, pixel format is YUV420P10LE and it has metadata abount BT2020 color space and PQ transfer function.
In this NVIDIA article I found the next :
The display driver takes the scRGB back buffer, and converts it to the
standard expected by the display presently connected. In general, this
means converting the color space from sRGB primaries to BT. 2020
primaries, scaling to an appropriate level, and encoding with a
mechanism like PQ. Also, possibly performing conversions like RGB to
YCC if that display connection requires it.It means that my player should render pixels in the scRGB color space (linear encoding, sRGB primaries, full range is -0.5 through just less than +7.5). So I need to get frames from the source video in this color space somehow, preferably in FP16 pixel format (half float, 16 bits per one color channel). I come to the following simple pipeline to render videos to HDR :
source HDR video in BT2020 color space with applied PQ -> [some video library] ->
-> video frames with colors in scRGB color space -> [my program] ->
-> rendered video on HDR TV with applied conversions by display driverI’m trying to use FFmpeg as this library and do not understand how to get frames from the source HDR video in scRGB color space.
I use sws_scale FFmpeg method now to get frames and know about filters API. But I did not found any information and help about how to transparantly get frames in scRGB using these functionality without parsing metadata for all source videos and create custom video filters for them.
Please, tell me what I can do to get frames in the scRGB color space using FFmpeg. Can someone tell other libraries with which I can do it ?
-
What am I doing wrong ? Tweepy with ffmpeg
27 août 2020, par pigeonburgerI'm trying to get this code to pull the media from any tweet that mentions my twitter handle, convert it using ffmpeg via the subprocess module, then send the converted media back to the person as a reply ? Is this all correct ?

I am also getting an error at
tweet_media = clean_data['entities']['media']['media_url']
and I don't understand what I'm doing wrong there (Exception has occurred : TypeError
list indices must be integers or slices, not str
line 32, in on_data
tweet_media = clean_data['entities']['media']['media_url'])

Also is there a better way to use ffmpeg with python that I am not aware of ?


Here is the code I wrote that I'm trying to use :


import tweepy
from tweepy import Stream
from tweepy.streaming import StreamListener
from datetime import datetime
import time
import subprocess

stdout = subprocess.PIPE
def runcmd(cmd):
 x = subprocess.Popen(cmd, stdout=subprocess.PIPE)
 return x.communicate(stdout)

print(" TWITTER BOT")
time.sleep(1.5)
print(" By PigeonBurger, updated 26 August 2020 \n")

import json
import random

class StdOutListener(StreamListener):
 def on_data(self, data):
 clean_data = json.loads(data)
 tweetId = clean_data['id']
 tweet_name = clean_data['user']['screen_name']
 tweet_media = clean_data['entities']['media']['media_url']
 tweet_photo = runcmd('ffmpeg -i tweet_media output.jpg')
 print(clean_data)
 tweet = 'Here ya go'
 now = datetime.now()
 dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
 print(' Reply sent to @'+tweet_name, 'on', dt_string, '\n' ' Message:', tweet, '\n')
 respondToTweet(tweet_photo, tweet, tweetId)

def setUpAuth():
 auth = tweepy.OAuthHandler("consumer_key", "consumer_secret")
 auth.set_access_token("access_token", "access_token_secret")
 api = tweepy.API(auth)
 return api, auth

def followStream():
 api, auth = setUpAuth()
 listener = StdOutListener()
 stream = Stream(auth, listener)
 stream.filter(track=["@YOUR_TWITTER_HANDLE"], is_async=True)

def respondToTweet(tweet_photo, tweet, tweetId):
 api, auth = setUpAuth()
 api.update_with_media(tweet_photo, tweet, in_reply_to_status_id=tweetId, auto_populate_reply_metadata=True, stall_warnings=True)

if __name__ == "__main__":
 followStream()