
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (65)
-
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 -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (8795)
-
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>
-
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.


-
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