
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (101)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
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 (...) -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation"
Sur d’autres sites (10942)
-
Using ffmpeg to "re-time" an RTSP stream ?
29 mars 2021, par Tom SI recently set up a birdbox in my garden, and have been using a cheapie camera that I bought, along with ffmpeg on a raspberry pi to stream from the camera to YouTube.


But YouTube keeps telling me that I am sending data too fast - multiple seconds of video per second, and at that point the stream seems to stall and I just get a buffering spinner on YouTube and have to restart ffmpeg to restore the stream.


This is happening very frequently, infact even more frequently now than when I originally got everything up and running for some reason... So much so that Ive had to setup ffmpeg to run as a service, and restart it once an hour via cron. But even this is not enough and now it seems that it can go bonkers within 10-15 minutes of a restart - almost like the more often I restart the quicker it gets...


I dont know where the issue is, or how to find it (does ffmpeg simply restream "verbatim" what ever the camera supplies ?), but I wonder if it might be possible to have ffmpeg re-time the stream so that I only send to YouTube the 25fps that it is happy with (i.e. dropping any frames in excess of this) ?


I have key frames set to 1 second on the camera.


Thanks !



Here is my service file which contains the command that I use to start ffmpeg :


[Unit]
Description=BirbCam 1 streaming service
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=root
# Uncomment one ExecStart line below, then run `sudo systemctl daemon-reload` before restart
# With audio
ExecStart=/usr/local/bin/ffmpeg -rtsp_transport tcp -i rtsp://172.25.144.35:554/user=admin&password=&channel=1&stream=0.sdp?real_stream -tune zerolatency -vcodec libx264 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx-xxxx

# Without audio
# ExecStart=/usr/local/bin/ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i rtsp://172.25.144.35:554/user=admin&password=&channel=1&stream=0.sdp?real_stream -tune zerolatency -vcodec libx264 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx-xxxx

[Install]
WantedBy=multi-user.target



-
Errno 20 Not a directory : 'ffmpeg' WHEN running with systemd
4 avril 2022, par Ivan Arturo Salazar OrtizHi guys I have a head ache running this as a service I am really stuck here and have wasted quite the hours here, i am on ubuntu 20 LTS.


I have a celery worker which is waiting for an audio to transform using ffmpeg python library.


If I run it like this :


source venv/bin/activate && Celery -A tasks worker -l info It works without a problem and complete the tasks.


but when I run it as a service in systemd I get this error :


[Errno 20] Not a directory: 'ffmpeg'
 Traceback (most recent call last):
 File "/home/ubuntu/p1-react-flask-app/app/tasks.py", line 58, in transform_audio_format
 output.run()
 File "/home/ubuntu/p1-react-flask-app/app/venv/lib/python3.8/site-packages/ffmpeg/_run.py", line 313, in run
 process = run_async(
 File "/home/ubuntu/p1-react-flask-app/app/venv/lib/python3.8/site-packages/ffmpeg/_run.py", line 284, in run_async
 return subprocess.Popen(
 File "/usr/lib/python3.8/subprocess.py", line 858, in __init__
 self._execute_child(args, executable, preexec_fn, close_fds,
 File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child
 raise child_exception_type(errno_num, err_msg, err_filename)
 NotADirectoryError: [Errno 20] Not a directory: 'ffmpeg'



I really do not know why and have tried different ways. python os can access the audio folder and files without problem but the problem here, I think, is that my systemd service does not find ffmpeg.exe, but how do I specify it to my service ?


My celery config file :


# The names of the workers. This example create one worker
CELERYD_NODES="worker1"

# The name of the Celery App, should be the same as the python file
# where the Celery tasks are defined
CELERY_APP="tasks"

# Log and PID directories
CELERYD_LOG_FILE="/var/log/celery/%n%I.log"
CELERYD_PID_FILE="/var/run/celery/%n.pid"

# Log level
CELERYD_LOG_LEVEL=INFO

# Path to celery binary, that is in your virtual environment
CELERY_BIN=/home/ubuntu/venv/bin/celery

# Options for Celery Beat
CELERYBEAT_PID_FILE="/var/run/celery/beat.pid"
CELERYBEAT_LOG_FILE="/var/log/celery/beat.log"



my celeryd.service :


[Unit]
Description=Celery Service
After=network.target

[Service]
Type=forking
User=ubuntu
Group=ubuntu
EnvironmentFile=/etc/default/celeryd
WorkingDirectory=/home/ubuntu/p1/app
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \
--pidfile=${CELERYD_PID_FILE}'
ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'

[Install]
WantedBy=multi-user.target



My python code :


@app.task
def transform_audio_format(url_original,url_destiny):
 input = ffmpeg.input(url_original)
 
 output = ffmpeg.output(input,url_destiny,shell=True)

 output.run()



any help would be appreciated.


-
libavformat/mpegtsenc : allow to set service_type in sdt
2 février 2015, par dhead666libavformat/mpegtsenc : allow to set service_type in sdt
This adds an option to set the service type in mpegts as defined in ETSI 300 468.
I added what I believe are the most useful service types as pre defined values,
the others can be sent by using their hexdecimal form directly (e.g. -mpegts_service_type digital_radio, -mpegts_service_type 0x07).I’ve been using this patch in order to pipe internet radio stream (originally as HLS/m3u8) from ffmpeg to tvheadend,
when the service type set right tvheadend recognize the mpegts stream as a radio channel.The patch in its original form was written by linuxstb from freenode’s hts channel which allowed me pushing it upstream.
This close issue 4118.
Signed-off-by : Michael Niedermayer <michaelni@gmx.at>