
Recherche avancée
Autres articles (97)
-
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 -
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...) -
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...)
Sur d’autres sites (8115)
-
Interpreting ffmpeg output in Python
11 juin 2020, par Luka MilivojevicI started working in FFmpeg and I want to create a list that will contain start and end timestamps of silence intervals. I did print out these intervals using the FFmpeg but I need to format that output so it looks a bit more readable, so that is why I want to create a list out of it and then print it using a custom function. I know that I should go with regex here but I am not sure how should I write it nor how should I read the FFmpeg console output. My function for silence detection looks like :



def detect_silence_ffmpeg():
 command = r"ffmpeg -i audio.wav -af silencedetect=n=-40dB:d=0.5 -f null - "
 subprocess.call(command, shell=True)




And the output of this function on a 7 second long sample video is :



ffmpeg version git-2020-06-03-b6d7c4c Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9.3.1 (GCC) 20200523
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
 libavutil 56. 49.100 / 56. 49.100
 libavcodec 58. 90.100 / 58. 90.100
 libavformat 58. 44.100 / 58. 44.100
 libavdevice 58. 9.103 / 58. 9.103
 libavfilter 7. 84.100 / 7. 84.100
 libswscale 5. 6.101 / 5. 6.101
 libswresample 3. 6.100 / 3. 6.100
 libpostproc 55. 6.100 / 55. 6.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'audio.wav':
 Metadata:
 encoder : Lavf58.44.100
 Duration: 00:00:07.34, bitrate: 1411 kb/s
 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
 Metadata:
 encoder : Lavf58.44.100
 Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
 Metadata:
 encoder : Lavc58.90.100 pcm_s16le
[silencedetect @ 00000202fc71e680] silence_start: 0
[silencedetect @ 00000202fc71e680] silence_end: 1.16374 | silence_duration: 1.16374
[silencedetect @ 00000202fc71e680] silence_start: 1.94558
[silencedetect @ 00000202fc71e680] silence_end: 3.41345 | silence_duration: 1.46787
[silencedetect @ 00000202fc71e680] silence_start: 3.8578
[silencedetect @ 00000202fc71e680] silence_end: 5.84844 | silence_duration: 1.99063
[silencedetect @ 00000202fc71e680] silence_start: 6.43653
size=N/A time=00:00:07.33 bitrate=N/A speed= 308x 
video:0kB audio:1264kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[silencedetect @ 00000202fc71e680] silence_end: 7.33868 | silence_duration: 0.902154




And this code should be implemented on an hour or so long videos so I really need to find a way to format this output a bit better than this. That would be it, any help would be much appreciated :)



P.S : the idea is that this should work on Windows mainly, but if the cross-platform is possible too it would be great.


-
ffmpeg capturing image from rtmp stream
14 juin 2020, par Lewis DayI am passing this command via ssh ;



$rtmp_address = 'rtmp://198.251.69.110/live/';
 $stream_link = "" . $rtmp_address . "" . $stream_key . "";
echo $ssh->exec('ffmpeg -i "' . $stream_link . ' live=1" -f image2 -vcodec png -vframes 1 -s 180x145 -compression_level 100 /var/www/vhosts/flamingocams.net/httpdocs/images/' . $username . '.png -y');




however getting this response ;





ffmpeg version N-53084-gd29aaf12f4-static
 https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg
 developers built with gcc 8 (Debian 8.3.0-6) configuration :
 —enable-gpl —enable-version3 —enable-static —disable-debug —disable-ffplay —disable-indev=sndio —disable-outdev=sndio —cc=gcc —enable-fontconfig —enable-frei0r —enable-gnutls —enable-gmp —enable-libgme —enable-gray —enable-libaom —enable-libfribidi —enable-libass —enable-libvmaf —enable-libfreetype —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenjpeg —enable-librubberband —enable-libsoxr —enable-libspeex —enable-libsrt —enable-libvorbis —enable-libopus —enable-libtheora —enable-libvidstab —enable-libvo-amrwbenc —enable-libvpx —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxml2 —enable-libdav1d —enable-libxvid —enable-libzvbi —enable-libzimg libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 [rtmp @ 0x730fe40] Detected librtmp style URL parameters, these aren't supported by the
 libavformat internal RTMP handler currently enabled. See the
 documentation for the correct way to pass parameters.





could anyone help with what is going wrong.


-
FFMPEG HTTP to RTP then RTP to HTTP with OPUS
20 juin 2020, par Brad HambletonI'm taking a HTTP output to FFMPEG and copying the audio (no video) to an RTP :
ffmpeg -i http://192.168.0.40:20110 -c:a copy -f rtp rtp ://192.168.87.40:20210 ?pkt_size=1328 -sdp_file opus.sdp


At the other end receiving the RTP and pushing it back to HTTP :
ffmpeg -re -protocol_whitelist rtp,file,udp -i opus.sdp -c:a copy -listen 1 -method GET -f opus http://192.168.87.40:20220


2 Problems :


- 

- Currently the encoding process doesn't optimize packets.
92 1.004672 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332
93 1.004727 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332
94 1.004789 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332
95 1.004855 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332
96 1.004908 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332




Each packet length is 332, which leaves a lot of wasted space. I'd like to get close to 1500 (Stack 4 together I get 1328 which is close enough)
Is there a command in the FFMPEG/RTP that will optimize packets ?
I added ?pkt_size=1328 to the RTP however that only sets max, not preferred.


- 

- I get the following error when I try to HTTP to RTP via copy :
C :\Decode>ffmpeg -re -protocol_whitelist rtp,file,udp -i opus.sdp -c:a copy -listen 1 -method GET -f opus http://192.168.0.40:20220
ffmpeg version git-2020-05-23-26b4509 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.3.1 (GCC) 20200523
configuration : —enable-gpl —enable-version3 —enable-sdl2 —enable-fontconfig —enable-gnutls —enable-iconv —enable-libass —enable-libdav1d —enable-libbluray —enable-libfreetype —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenjpeg —enable-libopus —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libsrt —enable-libtheora —enable-libtwolame —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxml2 —enable-libzimg —enable-lzma —enable-zlib —enable-gmp —enable-libvidstab —enable-libvmaf —enable-libvorbis —enable-libvo-amrwbenc —enable-libmysofa —enable-libspeex —enable-libxvid —enable-libaom —disable-w32threads —enable-libmfx —enable-ffnvcodec —enable-cuda-llvm —enable-cuvid —enable-d3d11va —enable-nvenc —enable-nvdec —enable-dxva2 —enable-avisynth —enable-libopenmpt —enable-amf
libavutil 56. 48.100 / 56. 48.100
libavcodec 58. 87.101 / 58. 87.101
libavformat 58. 43.100 / 58. 43.100
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 83.100 / 7. 83.100
libswscale 5. 6.101 / 5. 6.101
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, sdp, from 'opus.sdp' :
Metadata :
title : No Name
Duration : N/A, start : 0.000000, bitrate : N/A
Stream #0:0 : Audio : opus, 48000 Hz, stereo, fltp
[opus @ 00000221a9a4d280] No extradata present
Could not write header for output file #0 (incorrect codec parameters ?) : Invalid data found when processing input
Stream mapping :
Stream #0:0 -> #0:0 (copy)
Last message repeated 1 times




Tried a variety of additions to the RTP to HTTP CLI to get it to work, but still nothing.


-flags -global_header -reconnect_streamed 1 -headers "X-Forwarded-For : 13.14.15.66"


Is there a specific OPUS or HTTP header that can be added to get it to work. Decoding and Encoding does work for RTP to HTTP, the idea isn't to decode/encode at either point, just to copy the audio, change the container..


Cheers