
Recherche avancée
Autres articles (101)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
Emballe Médias : Mettre en ligne simplement des documents
29 octobre 2010, parLe plugin emballe médias a été développé principalement pour la distribution mediaSPIP mais est également utilisé dans d’autres projets proches comme géodiversité par exemple. Plugins nécessaires et compatibles
Pour fonctionner ce plugin nécessite que d’autres plugins soient installés : CFG Saisies SPIP Bonux Diogène swfupload jqueryui
D’autres plugins peuvent être utilisés en complément afin d’améliorer ses capacités : Ancres douces Légendes photo_infos spipmotion (...)
Sur d’autres sites (13095)
-
Some videos fail to chromecast with error MEDIA_UNKNOWN
1er juin 2020, par JonasVautherinUsing
mkchromecast
to cast local mp4 files, some videos work, and some don't (as in : the screen hangs on the blue chromecast logo, suggesting that the initial connection worked). I can reproduce exactly the issue described here.


So I decided to go one level lower, with
pychromecast
, and try to see what actually happens when it hangs on the blue logo. I converted two videos to HLS format, and exposed them through an http server. The video that works withmkchromecast
also works with my setup, but the one that fails, well... fails on both. Withpychromecast
, I don't get much more information than :




ERROR, code 100 : MEDIA_UNKNOWN.





From the Cast documentation, this error means :





The media element encountered an unknown error fired from platform. The media element encountered an error that did not indicate it's one of MediaError.MEDIA_ERR_*. This should be rare.





It is not rare for me at all, though. I thought that maybe the failing video was in an unsupported format, as described in the documentation. So I tried to compare both videos with the following command :



ffprobe -v quiet -print_format json -show_streams 




Video that works :



{
 "streams": [
 {
 "index": 0,
 "codec_name": "h264",
 "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
 "profile": "High",
 "codec_type": "video",
 "codec_time_base": "1001/48000",
 "codec_tag_string": "avc1",
 "codec_tag": "0x31637661",
 "width": 1920,
 "height": 1080,
 "coded_width": 1920,
 "coded_height": 1088,
 "has_b_frames": 2,
 "sample_aspect_ratio": "1:1",
 "display_aspect_ratio": "16:9",
 "pix_fmt": "yuv420p",
 "level": 50,
 "chroma_location": "left",
 "refs": 1,
 "is_avc": "true",
 "nal_length_size": "4",
 "r_frame_rate": "24000/1001",
 "avg_frame_rate": "24000/1001",
 "time_base": "1/24000",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 47127080,
 "duration": "1963.628333",
 "bit_rate": "5527977",
 "bits_per_raw_sample": "8",
 "nb_frames": "47080",
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0
 },
 "tags": {
 "language": "und",
 "handler_name": "VideoHandler"
 }
 },
 {
 "index": 1,
 "codec_name": "aac",
 "codec_long_name": "AAC (Advanced Audio Coding)",
 "profile": "LC",
 "codec_type": "audio",
 "codec_time_base": "1/48000",
 "codec_tag_string": "mp4a",
 "codec_tag": "0x6134706d",
 "sample_fmt": "fltp",
 "sample_rate": "48000",
 "channels": 2,
 "channel_layout": "stereo",
 "bits_per_sample": 0,
 "r_frame_rate": "0/0",
 "avg_frame_rate": "0/0",
 "time_base": "1/48000",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 94254528,
 "duration": "1963.636000",
 "bit_rate": "125776",
 "max_bit_rate": "125776",
 "nb_frames": "92048",
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0
 },
 "tags": {
 "language": "und",
 "handler_name": "SoundHandler"
 }
 }
 ]
}




Video that does NOT work :



{ 
 "streams": [
 {
 "index": 0,
 "codec_name": "h264",
 "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
 "profile": "High",
 "codec_type": "video",
 "codec_time_base": "125/5994",
 "codec_tag_string": "avc1",
 "codec_tag": "0x31637661",
 "width": 1920,
 "height": 1040,
 "coded_width": 1920,
 "coded_height": 1040,
 "has_b_frames": 2,
 "sample_aspect_ratio": "1:1",
 "display_aspect_ratio": "24:13",
 "pix_fmt": "yuv420p",
 "level": 41,
 "chroma_location": "left",
 "refs": 1,
 "is_avc": "true",
 "nal_length_size": "4",
 "r_frame_rate": "2997/125",
 "avg_frame_rate": "2997/125",
 "time_base": "1/11988",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 97032000,
 "duration": "8094.094094",
 "bit_rate": "2499644",
 "bits_per_raw_sample": "8",
 "nb_frames": "194064",
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0
 },
 "tags": {
 "creation_time": "2020-03-27T09:56:39.000000Z",
 "language": "und",
 "handler_name": "L-SMASH Video Media Handler"
 }
 },
 {
 "index": 1,
 "codec_name": "aac",
 "codec_long_name": "AAC (Advanced Audio Coding)",
 "profile": "LC",
 "codec_type": "audio",
 "codec_time_base": "1/48000",
 "codec_tag_string": "mp4a",
 "codec_tag": "0x6134706d",
 "sample_fmt": "fltp",
 "sample_rate": "48000",
 "channels": 6,
 "channel_layout": "5.1",
 "bits_per_sample": 0,
 "r_frame_rate": "0/0",
 "avg_frame_rate": "0/0",
 "time_base": "1/48000",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 388516320,
 "duration": "8094.090000",
 "bit_rate": "224000",
 "max_bit_rate": "224000",
 "nb_frames": "379413",
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0
 },
 "tags": {
 "creation_time": "2020-03-27T09:56:39.000000Z",
 "language": "eng",
 "handler_name": "SoundHandler"
 }
 }
 ]
}




For what I can see, the codecs are the same, and the only difference I can make is in the aspect ratio.



What could be the reason for this "MEDIA_UNKNOWN" error on the chromecast side ? Is there something more I could compare between those two videos ? Could it be that the chromecast fails because of the aspect ratio ?


-
libavfilter/scale : Populate ow/oh when using 0 as w/h
14 juin 2017, par Kevin Marklibavfilter/scale : Populate ow/oh when using 0 as w/h
The input width and height is known at parse time so there's no
reason ow/oh should not be usable when using 0 as the width or
height expression.Previously in "scale=0:ow" ow would be set to "0" which works,
conveniently, as "scale=0:0" is perfectly valid input but this breaks
down when you do something like "scale=0:ow/4" which one could
reasonably expect to work as well, but does not as ow is 0 not the
real value.This change handles the 0 case for w/h immediately so the ow/oh
variables work as expected. Consequently, the rest of the code does
not need to handle 0 input. w/h will always be > 0 or < 0.The second explicit (int) cast ensures that ow/oh appear as integers
as a user might expect when dealing with pixel dimensions.Signed-off-by : Kevin Mark <kmark937@gmail.com>
Signed-off-by : Ronald S. Bultje <rsbultje@gmail.com> -
Can you stream video with ffmpeg and opencv without long buffers
13 septembre 2019, par steveI’m successfully getting a video stream using ffmpeg, and displaying with opencv, but the video starts and stops very often and is not as smooth as when played on a browser. Is there a way to get the video stream to be as smooth as on a browser ?
I’ve tried playing with ffmpeg parameters as well as having multiple pipes to stitch together a single video.
import cv2
import numpy as np
import subprocess as sp
import time
# Playlist manifest for video from Nevada DOT traffic camera
VIDEO_URL = "https://wowza1.nvfast.org/bmw3/charleston_and_fremont_public.stream/playlist.m3u8"
width = 360
height = 240
pipe = sp.Popen([ 'ffmpeg', "-i", VIDEO_URL,
"-loglevel", "quiet", # no text output
"-an", # disable audio
"-f", "image2pipe",
"-pix_fmt", "bgr24",
"-r", "15", # FPS
"-hls_list_size", "3",
#"-hls_time", "8"
"-vcodec", "rawvideo", "-"],
stdin = sp.PIPE, stdout = sp.PIPE)
while True:
# Convert bytes to image
raw_image = pipe.stdout.read(width*height*3) # read 432*240*3 bytes (= 1 frame)
img = np.fromstring(raw_image, dtype='uint8').reshape((height,width,3))
raw_image = np.copy(img)
# Show image
cv2.imshow('pipe', img)
cv2.waitKey(1)
time.sleep(0.05) # This is to slow down the video so it plays more naturallyThe expected output is a opencv window that displays the video just like in https://cctv.nvfast.org/
I assume the problem lies in ffmpeg not getting the video chunks.