
Recherche avancée
Médias (2)
-
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
Autres articles (38)
-
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras. -
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 -
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users.
Sur d’autres sites (7963)
-
Fluent-ffmpeg randomly doesn't add the text I want to the video, even though it's in the filters
15 décembre 2022, par ToborWinnerI am making a simple script to add some text to a 4 seconds video, it all works fine, but sometimes it randomly doesn't add some of the text.
You can find here the relevant parts of my code :



const video = ffmpeg('path/to/video.mp4')

let index = 0
let left = true

const filters = [{
 filter: 'drawtext',
 options: {
 //fontfile:'font.ttf',
 text: title,
 fontsize: 30,
 fontcolor: 'white',
 x: '(main_w/2-text_w/2)',
 y: 130,
 shadowcolor: 'black',
 shadowx: 2,
 shadowy: 2
 }
}]

for (let thought of thoughts) {
 if (thought.length == 0) {
 continue
 }
 thought = wrap(thought, {width: 35})
 const strings = thought.split("\n")
 let line = 0
 for (const string of strings
 .filter(string => string.length > 0)
 .map(string => string.trim())
 ) {
 let yoffset = 130+(130*(index+1))+(line*20)
 if (yoffset < 0) {
 yoffset = 0
 }
 console.log(string, yoffset)
 filters.push({
 filter: 'drawtext',
 options: {
 //fontfile:'font.ttf',
 text: string,
 fontsize: 18,
 fontcolor: 'white',
 x: `(main_w${left ? "*0.3" : "*0.7"}-text_w/2)`,
 y: yoffset,
 shadowcolor: 'black',
 shadowx: 2,
 shadowy: 2
 }
 })
 line++;
 }
 index++;
 left = !left
 }


video.videoFilters(filters)
video.noAudio()


video.save('path/to/output.mp4');




The wrap function comes from the package word-wrap (
const wrap = require('word-wrap');
)
Thoughts is a list of strings that aren't too long (with the wrap function they end up being like 2-4 lines).

This is inside an async function.


For some reason only a few lines appear on the output video.
Sometimes, when it doesn't do that, it also throws an error saying that one of the inputs is invalid (while processing filters).
The wrap function seems to work, and also the
yoffset
, I have printed them.

If someone has an idea why, please help me solve this.


I tried chasing the text in thoughts, and for example, this works with no problems (shows the title, and the texts right, left, right, left, ...).


const thoughts = ["Nothing is on fire, fire is on things","Nothing is on fire, fire is on things","Nothing is on fire, fire is on things","Nothing is on fire, fire is on things","Nothing is on fire, fire is on things"]



-
VPS as video relay server using ffmpeg and ffserver ?
15 juillet 2016, par Luke EI’m working on a project where I need to send a video stream from a laptop through a router I don’t have control of to an Android phone on another network I don’t have control of. The project also involves sending a stream of sensor data the opposite direction, for which I’m using a VPS and TCP hole punching quite successfully.
So, I thought to myself, why not just stream the video from ffmpeg on my laptop to ffmpeg on the VPS, and then relay that via ffserver to my android phone ? That’s what I’ve been trying to do for a good while now, but haven’t had much luck. The stream is recognized by the server but when putting it out over ffserver I get errors. Here is my ffserver.conf :
HTTPPort 9000
HTTPBindAddress
RTSPPort 5454
RTSPBindAddress
<feed>
File /tmp/feed1.ffm
FileMaxSize 50M
</feed>
<stream>
Feed feed1.ffm
Format rtp
VideoSize 960x540
VideoBufferSize 0
VideoFrameRate 30
NoAudio
AVOptionVideo flags +global_header
</stream>And here’s the command I’m using to take the received stream on the VPS and transmit it to ffserver :
./ffmpeg -protocol_whitelist file,udp,rtp -i foo.sdp -an -c copy -f rtp rtsp://:5454/feed1.ffm
When doing this command, I get the error "rtsp ://:5454/feed1.ffm : Protocol not found"
Any advice ?
I also thought about doing this with netcat and just and trying to forward all data received on the VPS at a certain port 1234 to any client connected to say port 1235, but this appears to be much more difficult than I thought.
Thanks again for any help, and hopefully this problem is interesting to others as well.
-
Split into equal parts and convert many mp4 videos using ffmpeg
9 septembre 2015, par bobafettaI have a ton of videos I need to convert from mp4 to wmv using ffmpeg and break up each file into 10 minute segments, but I am a total cmd scripting newb (in fact, I am a scripting newb :)
After spending six hours trying to find an answer, I thought I would bring it to you guys.
The code I have is working a little bit, but I need to be able to read data coming from the command line and send it back into the script for evaluation. I am not sure what code ffmpeg will spit out when it is done processing a video file (when the timestamp reaches an end), but this FOR loop just keeps on trying to create new file segments even though the video is over. This is what I saw when it tried to create a new file, so I think it might work to search for this :
frame= 0 fps=0.0 q=0.0 Lsize= 1kB time=00:00:00.00 bitrate=N/A
This is the code I have come up with so far (Don’t laugh :)
@echo off
setlocal ENABLEEXTENSIONS
setlocal ENABLEDELAYEDEXPANSION
for %%a in ("*.mp4") do (
set hour=00
for /L %%i IN (1,1,10) do (
:Beginning
set /a start=%%i-1
set end=%%i
if !start! lss 10 set start=!start!0
if !end! lss 10 set end=!end!0
ffmpeg -ss !hour!:!start!:00 -i "%%a" -b:v 1500k -vcodec msmpeg4 -acodec wmav2 -t !hour!:!end!:00 "Converted\%%~na-!hour!-!start!-!end!.wmv"
if end==60 CALL :Increment
)
)
:Increment
set /a !hour!+1
set %%i=1
GOTO :Beginning
pauseBased on reading this thread was thinking something like this might go in the code, but not sure what to do with it :
set "dosstring=%*"
echo.!dosstring!|findstr /C:"frame= 0 fps=0.0 q=0.0 Lsize= 1kB time=00:00:00.00 bitrate=N/A" >nul 2>&1Thanks so much for you help !