
Recherche avancée
Autres articles (61)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
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.
Sur d’autres sites (7184)
-
Python FFMPEG Heroku|Remove audio from video with Byte to Byte. No web processes running Error
15 mai 2021, par samoelI'm trying to get a .mp4 file from an address and remove the sound from it.I also want the data sent to FFMPEG to be bytes and return the result in byte


i tried different command for my code like using -movflags frag_keyframe+empty_moov.
When I run this code in Heroku and receive the log...


def from_bytes_to_byte(input_bytes):
 command = f"ffmpeg -f mp4 -i /dev/stdin -vcodec copy -an -f mp4 -movflags frag_keyframe+empty_moov -"
 convert_cmd = subprocess.Popen(
 shlex.split(command),
 stdin=subprocess.PIPE,
 stdout=subprocess.PIPE,
 shell=False
 )
 b = b''
 convert_cmd.stdin.write(input_bytes)
 convert_cmd.stdin.close()
 while True:
 output = convert_cmd.stdout.read()
 if len(output) > 0:
 b += output
 else:
 error_msg = convert_cmd.poll()
 if error_msg is not None:
 break
 print("----------FINISHED------------")
 return b


result=requests.get("https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4") #.MP4 File
byterecieved=from_bytes_to_byte(result.content)



heroku logs :


ffmpeg version N-57204-gc7c138e411-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2021 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 57. 0.100 / 57. 0.100
libavcodec 59. 0.100 / 59. 0.100
libavformat 59. 0.100 / 59. 0.100
libavdevice 59. 0.100 / 59. 0.100
libavfilter 8. 0.101 / 8. 0.101
libswscale 6. 0.100 / 6. 0.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/dev/stdin':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41isomavc1
creation_time : 2015-08-07T09:13:02.000000Z
Duration: 00:00:30.53, start: 0.000000, bitrate: N/A
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 480x270 [SAR 1:1 DAR 16:9], 301 kb/s, 30 fps, 30 tbr, 30 tbn (default)
Metadata:
creation_time : 2015-08-07T09:13:02.000000Z
handler_name : L-SMASH Video Handler
vendor_id : [0][0][0][0]
encoder : AVC Coding
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 112 kb/s (default)
Metadata:
creation_time : 2015-08-07T09:13:02.000000Z
handler_name : L-SMASH Audio Handler
vendor_id : [0][0][0][0]
Output #0, mp4, to 'pipe:':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41isomavc1
encoder : Lavf59.0.100
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 480x270 [SAR 1:1 DAR 16:9], q=2-31, 301 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
Metadata:
creation_time : 2015-08-07T09:13:02.000000Z
handler_name : L-SMASH Video Handler
vendor_id : [0][0][0][0]
encoder : AVC Coding
Stream mapping:
**2021-05-14T21:32:09.639203+00:00** app[worker.1]: Stream #0:0 -> #0:0 (copy)
**2021-05-14T22:12:36.527864+00:00** heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=desolate-inlet-50581.herokuapp.com request_id=cc985185-6ba7-4530-95f8-f4512f465039 fwd="5.122.192.170" dyno= connect= service= status=503 bytes= protocol=https
2021-05-14T22:12:37.303089+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=desolate-inlet-50581.herokuapp.com request_id=f26b18a5-30ac-41e2-9b63-8f945b746b12 fwd="5.122.192.170" dyno= connect= service= status=503 bytes= protocol=https
2021-05-14T22:13:39.737155+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=desolate-inlet-50581.herokuapp.com request_id=12a28261-d746-4067-ab4b-05d3e2e8c379 fwd="5.122.192.170" dyno= connect= service= status=503 bytes= protocol=https
2021-05-14T22:13:40.372446+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=desolate-inlet-50581.herokuapp.com request_id=c2e2ebc8-9fb2-4d30-8876-2fede3dfd141 fwd="5.122.192.170" dyno= connect= service= status=503 bytes= protocol=https



-
Python FFMPEG Heroku|Remove audio from video with Byte to Byte. No web processes running Error on Heroku
15 mai 2021, par samoelI'm trying to get a .mp4 file from an address and remove the sound from it.I also want the data sent to FFMPEG to be bytes and return the result in byte


i tried different command for my code like using -movflags frag_keyframe+empty_moov.
When I run this code in Heroku and receive the log...


Buildpacks on Heroku are :


https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git


https://github.com/codeinteger6/heroku-buildpack-libopus.git


git ://github.com/heroku/heroku-buildpack-python.git


def from_bytes_to_byte(input_bytes):
 command = f"ffmpeg -f mp4 -i /dev/stdin -vcodec copy -an -f mp4 -movflags frag_keyframe+empty_moov -"
 convert_cmd = subprocess.Popen(
 shlex.split(command),
 stdin=subprocess.PIPE,
 stdout=subprocess.PIPE,
 shell=False
 )
 b = b''
 convert_cmd.stdin.write(input_bytes)
 convert_cmd.stdin.close()
 while True:
 output = convert_cmd.stdout.read()
 if len(output) > 0:
 b += output
 else:
 error_msg = convert_cmd.poll()
 if error_msg is not None:
 break
 print("----------FINISHED------------")
 return b


result=requests.get("https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4") #.MP4 File
byterecieved=from_bytes_to_byte(result.content)



heroku logs :


ffmpeg version N-57204-gc7c138e411-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2021 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 57. 0.100 / 57. 0.100
libavcodec 59. 0.100 / 59. 0.100
libavformat 59. 0.100 / 59. 0.100
libavdevice 59. 0.100 / 59. 0.100
libavfilter 8. 0.101 / 8. 0.101
libswscale 6. 0.100 / 6. 0.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/dev/stdin':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41isomavc1
creation_time : 2015-08-07T09:13:02.000000Z
Duration: 00:00:30.53, start: 0.000000, bitrate: N/A
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 480x270 [SAR 1:1 DAR 16:9], 301 kb/s, 30 fps, 30 tbr, 30 tbn (default)
Metadata:
creation_time : 2015-08-07T09:13:02.000000Z
handler_name : L-SMASH Video Handler
vendor_id : [0][0][0][0]
encoder : AVC Coding
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 112 kb/s (default)
Metadata:
creation_time : 2015-08-07T09:13:02.000000Z
handler_name : L-SMASH Audio Handler
vendor_id : [0][0][0][0]
Output #0, mp4, to 'pipe:':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41isomavc1
encoder : Lavf59.0.100
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 480x270 [SAR 1:1 DAR 16:9], q=2-31, 301 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
Metadata:
creation_time : 2015-08-07T09:13:02.000000Z
handler_name : L-SMASH Video Handler
vendor_id : [0][0][0][0]
encoder : AVC Coding
Stream mapping:
**2021-05-14T21:32:09.639203+00:00** app[worker.1]: Stream #0:0 -> #0:0 (copy)
**2021-05-14T22:12:36.527864+00:00** heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=desolate-inlet-50581.herokuapp.com request_id=cc985185-6ba7-4530-95f8-f4512f465039 fwd="5.122.192.170" dyno= connect= service= status=503 bytes= protocol=https
2021-05-14T22:12:37.303089+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=desolate-inlet-50581.herokuapp.com request_id=f26b18a5-30ac-41e2-9b63-8f945b746b12 fwd="5.122.192.170" dyno= connect= service= status=503 bytes= protocol=https
2021-05-14T22:13:39.737155+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=desolate-inlet-50581.herokuapp.com request_id=12a28261-d746-4067-ab4b-05d3e2e8c379 fwd="5.122.192.170" dyno= connect= service= status=503 bytes= protocol=https
2021-05-14T22:13:40.372446+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=desolate-inlet-50581.herokuapp.com request_id=c2e2ebc8-9fb2-4d30-8876-2fede3dfd141 fwd="5.122.192.170" dyno= connect= service= status=503 bytes= protocol=https



-
Apache2 - RTSP stream redirection without ffmpeg processing
10 août 2022, par JanuszI have IP camera on local network with address let say : 192.168.5.111:36121 (for rtsp conection)
So I can view real time video in local network for example with :


ffplay rtsp://admin:xxxx@192.168.5.111:36121/cam/realmonitor?.......



I can access my camera from any place as well from my linux VPS server with :


ffplay rtsp://admin:xxxx@xbox2.com:37021/cam/realmonitor?.......



To do this on my remote VPS linux server I have VPN server and locally DD-WRT router connected to this server as client :
So on the local router I have :


iptables -t nat -A PREROUTING -i tun11 -p tcp --dport 36121 -j DNAT --to-destination 192.168.5.111



And on VPS server :


iptables -t nat -A PREROUTING -d 176.123.123.123/32 -p tcp -m tcp --dport 37021 -j DNAT --to-destination 10.8.0.10:36121



and that is allowing me to connect my camera from global network with :


ffplay rtsp://admin:xxxx@xbox2.com:37021/cam/realmonitor?.......



or


ffplay rtsp://admin:xxxx@176.123.123.123:37021/cam/realmonitor?.......



Everything works fine - but I would like to avoid to use specific port number directly (and use only :443 for all my cameras) so for example instead of
using xbox2.com:37021 to use xbox2.com/cam1 with redirection from apache2, so to access the camera it would be :
ffplay rtsp://admin:xxxx@xbox2.com/cam1/cam/realmonitor?.......

Was trying to use RedirectMatch, ProxyPass, ProxyPassReverse in the VirtualHost config but did not succeed.
So :
question nr.1 - is it at all possible to use apache2 to redirect the rtsp as described before ?
question nr.2 - if yes so how ?

Please note that I can redirect the stream with the node-rtsp-stream within apache2 (over port :443) using :


ProxyPass /wss1 ws://127.0.0.1:3001
ProxyPassReverse /wss1 ws://127.0.0.1:3001



and later to play it with jsmpeg on the web page but the problem is that ffmpeg processing on my VPS server makes big load to the processor, that's why I would like only to redirect the rtsp stream using apache2 without any ffmpeg processing.