
Recherche avancée
Médias (1)
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (25)
-
Modifier la date de publication
21 juin 2013, parComment changer la date de publication d’un média ?
Il faut au préalable rajouter un champ "Date de publication" dans le masque de formulaire adéquat :
Administrer > Configuration des masques de formulaires > Sélectionner "Un média"
Dans la rubrique "Champs à ajouter, cocher "Date de publication "
Cliquer en bas de la page sur Enregistrer -
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" ; -
Formulaire personnalisable
21 juin 2013, parCette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire. (...)
Sur d’autres sites (4384)
-
AVPlayer won't play audio files from FFMPEG
18 janvier 2021, par MarcusBefore requesting audio data AVPlayer requests byte range 0-1 from FFMPEG.


FFMPEG gives a 200 response, but AVPlayer requires a 206 response.


This results in the request failing and audio can't be played.


Expected behavior :
Play tracks when streaming through ffmpeg


Current behavior : When trying to stream with ffmpeg we get "Operation Stopped"


Sample FFMPEG command :


ffmpeg -i "/path/to/audio/track.mp3" -vn -strict -2 -acodec pcm_u8 -f wav -listen 1 -seekable 1 http://localhost:8090/restream.wav



Player Log :


Error Domain=AVFoundationErrorDomain Code=-11850 "Operation Stopped" UserInfo={NSLocalizedFailureReason=The server is not correctly configured., NSLocalizedDescription=Operation Stopped, NSUnderlyingError=0x600003bcc4b0 {Error Domain=NSOSStatusErrorDomain Code=-12939 "(null)"}}
!av_interleaved_write_frame(): Broken pipe

!Connection to tcp://localhost:8090 failed: Connection refused

!Connection to tcp://localhost:8090 failed: Connection refused

!Connection to tcp://localhost:8090 failed: Connection refused

!Error writing trailer of http://localhost:8090/restream.wav: Broken pipe



This error is defined by Apple as :


+"The HTTP server sending the media resource is not configured as expected. This might mean that the server does not support byte range requests."



And summarised nicely in this StackOverflow post :


when AVPlayerItem receive a video URL , it do the following task:

 Send a bytes request HTTP Request, and range = 0 -1
 If the response code is 206 and return 1 bytes data, It do the 3th task, if not, AVErrorServerIncorrectlyConfigured error occurred.
 continue send other HTTP Request, to download segment of All duration. and the response of VideoData code must be 206

In my situation , when send range[0-1] HTTP request, the server side give me a 200 OK response, So error occurred.



Network Log :


GET /file.wav HTTP/1.1
Host: localhost:1234
X-Playback-Session-Id: F72F1139-6F4C-4A22-B334-407672045A86
Range: bytes=0-1
Accept: */*
User-Agent: AppleCoreMedia/1.0.0.18C61 (iPhone; U; CPU OS 14_3 like Mac OS X; en_us)
Accept-Language: en-us
Accept-Encoding: identity
Connection: keep-alive

HTTP/1.1 200 OK
Content-Type: application/octet-stream
Transfer-Encoding: chunked



Reproduce using this sample app :


This can also be reproduced using standard ffmpeg and adding URL to local or remote ffmpeg URL


Can we solve this by making changes to FFMPEG or AVPlayer ?


-
Monster Battery Power Revisited
28 mai 2010, par Multimedia Mike — Python, Science ProjectsSo I have this new fat netbook battery and I performed an experiment to determine how long it really lasts. In my last post on the matter, it was suggested that I should rely on the information that gnome-power-manager is giving me. However, I have rarely seen GPM report more than about 2 hours of charge ; even on a full battery, it only reports 3h25m when I profiled it as lasting over 5 hours in my typical use. So I started digging to understand how GPM gets its numbers and determine if, perhaps, it’s not getting accurate data from the system.
I started poking around /proc for the data I wanted. You can learn a lot in /proc as long as you know the right question to ask. I had to remember what the power subsystem is called — ACPI — and this led me to /proc/acpi/battery/BAT0/state which has data such as :
present : yes capacity state : ok charging state : charged present rate : unknown remaining capacity : 100 mAh present voltage : 8326 mV
"Remaining capacity" rated in mAh is a little odd ; I would later determine that this should actually be expressed as a percentage (i.e., 100% charge at the time of this reading). Examining the GPM source code, it seems to determine as a function of the current CPU load (queried via /proc/stat) and the battery state queried via a facility called devicekit. I couldn’t immediately find any source code to the latter but I was able to install a utility called ’devkit-power’. Mostly, it appears to rehash data already found in the above /proc file.
Curiously, the file /proc/acpi/battery/BAT0/info, which displays essential information about the battery, reports the design capacity of my battery as only 4400 mAh which is true for the original battery ; the new monster battery is supposed to be 10400 mAh. I can imagine that all of these data points could be conspiring to under-report my remaining battery life.
Science project : Repeat the previous power-related science project but also parse and track the remaining capacity and present voltage fields from the battery state proc file.
Let’s skip straight to the results (which are consistent with my last set of results in terms of longevity) :
So there is definitely something strange going on with the reporting— the 4400 mAh battery reports discharge at a linear rate while the 10400 mAh battery reports precipitous dropoff after 60%.
Another curious item is that my script broke at first when there was 20% power remaining which, as you can imagine, is a really annoying time to discover such a bug. At that point, the "time to empty" reported by devkit-power jumped from 0 seconds to 20 hours (the first state change observed for that field).
Here’s my script, this time elevated from Bash script to Python. It requires xdotool and devkit-power to be installed (both should be available in the package manager for a distro).
PYTHON :-
# !/usr/bin/python
-
-
import commands
-
import random
-
import sys
-
import time
-
-
XDOTOOL = "/usr/bin/xdotool"
-
BATTERY_STATE = "/proc/acpi/battery/BAT0/state"
-
DEVKIT_POWER = "/usr/bin/devkit-power -i /org/freedesktop/DeviceKit/Power/devices/battery_BAT0"
-
-
print "count, unixtime, proc_remaining_capacity, proc_present_voltage, devkit_percentage, devkit_voltage"
-
-
count = 0
-
while 1 :
-
commands.getstatusoutput("%s mousemove %d %d" % (XDOTOOL, random.randrange(0,800), random.randrange(0, 480)))
-
battery_state = open(BATTERY_STATE).read().splitlines()
-
for line in battery_state :
-
if line.startswith("remaining capacity :") :
-
proc_remaining_capacity = int(line.lstrip("remaining capacity : ").rstrip("mAh"))
-
elif line.startswith("present voltage :") :
-
proc_present_voltage = int(line.lstrip("present voltage : ").rstrip("mV"))
-
devkit_state = commands.getoutput(DEVKIT_POWER).splitlines()
-
for line in devkit_state :
-
line = line.strip()
-
if line.startswith("percentage :") :
-
devkit_percentage = int(line.lstrip("percentage :").rstrip(’\%’))
-
elif line.startswith("voltage :") :
-
devkit_voltage = float(line.lstrip("voltage :").rstrip(’V’)) * 1000
-
print "%d, %d, %d, %d, %d, %d" % (count, time.time(), proc_remaining_capacity, proc_present_voltage, devkit_percentage, devkit_voltage)
-
sys.stdout.flush()
-
time.sleep(60)
-
count += 1
-
-
ffmpeg capture output from child window
3 janvier 2013, par glitchymeusing
xwininfo -all
I'm able to see the stats of any window, along with its child windowsxwininfo: Window id: 0x3c000ba "Electro - The Slag & Prototype Raptor - Crescendo - YouTube - Mozilla Firefox"
Root window id: 0xa8 (the root window) (has no name)
Parent window id: 0xc001b8 (has no name)
2 children:
0x3c00175 (has no name): () 1388x876+0+0 +52+24
5 children:
0x3d210ab (has no name): () 854x510+225+197 +277+221
1 child:
0x3d210ac (has no name): () 854x510+0+0 +277+221
1 child:
0x40404de "plugin-container": ("plugin-container" "Plugin-container") 854x510+0+0 +277+221
2 children:
0x40404e1 (has no name): () 854x510+0+0 +277+221
0x40404df (has no name): () 1x1+-1+-1 +276+220
0x3ddbcf2 (has no name): () 640x390+225+162 +277+186
1 child:
0x3ddbcf3 (has no name): () 640x390+0+0 +277+186
1 child:
0x403d545 "plugin-container": ("plugin-container" "Plugin-container") 640x390+0+0 +277+186
2 children:
0x403d548 (has no name): () 640x390+0+0 +277+186
0x403d546 (has no name): () 1x1+-1+-1 +276+185
0x3dac7f9 (has no name): () 640x390+225+162 +277+186
1 child:
0x3dac7fa (has no name): () 640x390+0+0 +277+186
1 child:
0x4039d8b "plugin-container": ("plugin-container" "Plugin-container") 640x390+0+0 +277+186
2 children:
0x4039d8e (has no name): () 640x390+0+0 +277+186
0x4039d8c (has no name): () 1x1+-1+-1 +276+185
0x3c3f939 (has no name): () 640x390+225+197 +277+221
1 child:
0x3c3f93a (has no name): () 640x390+0+0 +277+221
1 child:
0x4011918 "plugin-container": ("plugin-container" "Plugin-container") 640x390+0+0 +277+221
2 children:
0x401191b (has no name): () 640x390+0+0 +277+221
0x4011919 (has no name): () 1x1+-1+-1 +276+220
0x3c0d1dc (has no name): () 1x1+0+97 +52+121
1 child:
0x3c0d1dd (has no name): () 1x1+0+0 +52+121
1 child:
0x4002c1e "plugin-container": ("plugin-container" "Plugin-container") 1x1+0+0 +52+121
2 children:
0x4002c40 (has no name): () 1x1+0+0 +52+121
0x4002c1f (has no name): () 1x1+-1+-1 +51+120
0x3c000bb (has no name): () 1x1+-1+-1 +51+23
Absolute upper-left X: 52
Absolute upper-left Y: 24
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1388
Height: 876
Depth: 24
Visual: 0x23
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +52+24 -0+24 -0-0 ç0
-geometry 1388x876-0-0
Bit gravity: NorthWestGravity
Window gravity: NorthWestGravity
Backing-store hint: NotUseful
Backing-planes to be preserved: 0xffffffff
Backing pixel: 0
Save-unders: No
Someone wants these events:
KeyPress
KeyRelease
ButtonPress
ButtonRelease
EnterWindow
LeaveWindow
PointerMotion
Exposure
VisibilityChange
StructureNotify
FocusChange
PropertyChange
Do not propagate these events:
Override redirection?: No
Window manager hints:
Client accepts input or input focus: Yes
Initial state is Normal State
Displayed on desktop 0
Window type:
Normal
Window state:
Maximized Vert
Maximized Horz
Process id: 4087 on host jb
Frame extents: 0, 0, 0, 0
Normal window size hints:
Program supplied minimum size: 18 by 97
Program supplied maximum size: 1073741824 by 1073741824
Program supplied window gravity: NorthWestGravity
No zoom window size hints defined
No window shape defined
No border shape definedHowever, if I try capturing from the screen given the size and offset of the child window, then I risk losing data when another window floats ontop of it, I switch to another tab while recording, I resize the child window, or move the child window. Instead, I'd like to use ffmpeg to capture from specifically that child window.
Ideas ? Tips ? Maybe some other hacks to accomplish this ? Thanks :)