
Advanced search
Other articles (70)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 September 2013, byCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo; l’ajout d’une bannière l’ajout d’une image de fond;
-
Ecrire une actualité
21 June 2013, byPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
Publier sur MédiaSpip
13 June 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
On other websites (11427)
-
How to pass multiple RTP options to ffmpeg?
6 November 2017, by MSaltersBuilding my own RTSP server for FFMPEG, so I’m executing ffmpeg as a child process.
The problem I currently have is that I’m adding multicast support, and an RTSP client may add
ttl
to the RTSP Transport line. No problem so far, as ffmpeg supports that. But exactly how do I pass it? The documented URL format isrtp://hostname[:port][?option=val...]
That’s not the sort of definition you should write if you want to pass a Comp.Sci class. The ellipsis suggests you can pass more than one parameter, but not how. And I need not just
ttl=
but alsolocalrtpport=
.I suppose I could follow HTTP conventions and assume that they intended
[?option=val[&option=val]*]
but I can’t find an authoritative source for that.Asked elsewhere but unanswered there too.
-
FFmpeg Capture remote screen
29 August 2018, by ricardoI am trying capture a remote screen via ffmpeg and x11grab, I run in my machine this command
xpra start-desktop :20 --start-child=fluxbox
this machine have the ip
192.168.1.15
and in the remote capture I try run this
/usr/local/bin/ffmpeg -f pulse -server 192.168.1.15 -i tarjeta01.monitor -f x11grab -framerate 25 -r 25 -i 192.168.1.15:20.0 -fflags nobuffer -f rtp -c:v h264_nvenc -preset llhp -profile:v baseline -level 4 -delay 0 -b:v 1500k -threads 4 -cbr 1 -r 25 -an udp://:5008 -f rtp -vn -c:a libopus -ar 48000 -ac 2 -ab 96k -application lowdelay -compression_level 0 -frame_duration 2.5 -cutoff 20000 -vbr constrained udp://localhost:5006
I make xhost + and xhost + 192.168.1.16 in the machine where run xpra but always receive this error
[x11grab @ 0x23e4ea0] Cannot open display 192.168.1.15:20, error 1.
192.168.1.15:20: Input/output errorI try xpra, Xephyr and xfvb but always get the same error
Thanks for all best regards
-
Python - check subprocess activity every n seconds
22 November 2017, by hlaborI’m trying to make python script (currently on windows) which will open some sub-processes (which will run infinitely) and script should periodically check do all of opened sub-processes still work correctly. So it should be done with while loop, I guess.
The sub-processes are about FFMPEG livestreaming.
The problem is when I do
time.sleep(n)
in my loop, because then every FFMPEG livestream stops, so I supposetime.sleep
affect on all of child subprocesses.I have no idea how to make it work.
Here is my python code:
import os, time, sys, datetime, smtplib, configparser, logging, subprocess, psutil
import subprocess
def forwardudpstream(channel_number, ip_input, ip_output):
try:
ffmpeg_command = 'ffmpeg -i udp://' + ip_input + ' -vcodec copy -acodec copy -f mpegts "udp://' + ip_output + '?pkt_size=1316"'
ffmpeg_output = subprocess.Popen(ffmpeg_command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=False)
return str(ffmpeg_output.pid)
except:
print ("Exception!")
return '0'
while True:
configuration = 'config.ini'
channel_list_file = 'CHANNEL_LIST.conf'
pid_folder = "D:\\Forward_UDP_Stream\\pids\\"
channel_list = [line.rstrip('\n') for line in open(channel_list_file)]
for line in channel_list:
if not line.startswith('#') and ('|' in line):
channel_number, ip_input, ip_output = line.split('|')
print('----------')
print("Channel number = ", channel_number)
print("IP Input = ", ip_input)
print("IP Output = ", ip_output)
pid_file_found = False
print("Checking if pid file exists...")
for pidfile in os.listdir(pid_folder):
if pidfile.startswith(channel_number + '-'):
print("Pid file is found for this channel.")
pid_file_found = True
pid = int(pidfile.split('-')[1].split('.')[0])
print("PID = ", str(pid))
print("Checking if corresponding process is active...")
if not psutil.pid_exists(pid):
print("Process is not active.")
print("Removing old pid file.")
os.remove(pid_folder + pidfile)
print("Starting a new process...")
pid_filename = channel_number + '-' + forwardudpstream(channel_number, ip_input, ip_output) + '.pid'
pid_file = open(pid_folder + pid_filename, "a")
pid_file.write("Process is running.")
pid_file.close()
else:
print("Process is active!")
break
if pid_file_found == False:
print("Pid file is not found. Starting a new process and creating pid file...")
pid_filename = channel_number + '-' + forwardudpstream(channel_number, ip_input, ip_output) + '.pid'
pid_file = open(pid_folder + pid_filename, "a")
pid_file.write("Process is running.")
pid_file.close()
time.sleep(10)Here is my CHANNEL_LIST.conf file example:
1|239.1.1.1:10000|239.1.1.2:10000
2|239.1.1.3:10000|239.1.1.4:10000Perhaps there is some other solution to put waiting and sub-processes to work together. Does anyone have an idea?
UPDATE:
I finally make it work when I removedstdout=subprocess.PIPE
part from the subprocess command.
Now it looks like this:ffmpeg_output = subprocess.Popen(ffmpeg_command, stderr=subprocess.STDOUT, shell=False)
So now I’m confused why previous command was making a problem...?
Any explanation?