
Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (44)
-
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 (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 is the first MediaSPIP stable release.
Its official release date is June 21, 2013 and is announced here.
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 (...) -
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users.
Sur d’autres sites (7000)
-
How to convert MPEG2-TTS to MPEG2-TS format to playback using ffplay
29 février 2024, par AsustorI know some OSS such as ffmpeg or gstreamer don't support to play-back MPEG2-TTS stream.
Then, I tried to convert 192 bytes TTS packet to 188 bytes TS packet by deleting first 4 bytes like :


def conv_tts2ts(rtp_payload):

 payload_len = len(rtp_payload)
 if payload_len % 192 != 0:
 raise

 pkt_num = int(payload_len / 192)
 ts_data = bytearray()
 for i in range(pkt_num):
 spos = 192 * i
 epos = spos + 192
 tmp = rtp_payload[spos:epos]
 ts_data.extend(tmp[4:])

 return ts_data

# after this, send ts_data with RTP header received from MPEG2-TTS streamer via UDP/IP.




However, ffplay and ffprobe don't reaction.


I expect to be able to play-back using ffplay as MPEG2-TS format.
Please tell me how to convert TTS to TS in order to deocde by ffmpeg ?


-
addEventListener with encrypted video-js is not working
26 février 2024, par vinodI have a video uploading project in laravel. Everything is good. I have encrypted videos using "FFMPEG" packge and wanted to play on video-js player. Also wanted to show google-adsense there.


The error is giving to me :


IDEOJS : ERROR : videojs-contrib-ads has not seen a loadstart event 5 seconds after being initialized, but a source is present. This indicates that videojs-contrib-ads was initialized too late. It must be initialized immediately after video.js in the same tick. As a result, some ads will not play and some media events will be incorrect. For more information, see http://videojs.github.io/videojs-contrib-ads/integrator/getting-started.html


and "addEventListener" is also not working except "document.addEventListener('DOMContentLoaded', function() ".


I think problem is due to data-setup='{}' add into video tag. because previously, I was playing the video without encryption like the original video with full path and there was not added the data-setup='{}'. Everything was working. But after playing the encrypted video. I got the errors.


Thank in advance !


my view is :


<video class="img-fluid myVideo video-js vjs-default-skin" preload="none" controls="controls" data-video-id="{{ Crypt::encrypt($video_list->id) }}" data-setup="'{}'">
 @if (Auth::check())
 <source src="{{ route('video.player.show', ['filename' => $video_list->unique_number.'.m3u8','type' => 'full','video_id' => $video_list->unique_number]) }}" type="application/x-mpegURL" class="full-video">
 
 @endif
</source></video>



js is :


<code class="echappe-js"><script>&#xA; document.addEventListener(&#x27;DOMContentLoaded&#x27;, function() {&#xA; console.log(&#x27;afterload&#x27;);&#xA; const videos = document.querySelectorAll(&#x27;.myVideo&#x27;);&#xA; let playing = [];&#xA;&#xA; videos.forEach((video, index) => {&#xA; console.log(&#x27;video&#x27;);&#xA; console.log(video.id);&#xA; const overlay = document.querySelectorAll(&#x27;.overlay&#x27;)[index];&#xA; const paymentoverlay = document.querySelectorAll(&#x27;.paymentoverlay&#x27;)[index];&#xA;&#xA; // Create a single player instance for each video&#xA; const player = videojs(video.id);&#xA;&#xA; var options = {&#xA; id: &#x27;content_video&#x27;, // Use the correct ID for each video element&#xA; adTagUrl: &#x27;http://pubads.g.doubleclick.net/gampad/ads?sz=640x480&amp;iu=/124319096/external/ad_rule_samples&amp;ciu_szs=300x250&amp;ad_rule=1&amp;impl=s&amp;gdfp_req=1&amp;env=vp&amp;output=xml_vmap1&amp;unviewed_position_start=1&amp;cust_params=sample_ar%3Dpremidpostpod%26deployment%3Dgmf-js&amp;cmsid=496&amp;vid=short_onecue&amp;correlator=&#x27;&#xA; };&#xA;&#xA; player.ima(options);&#xA;&#xA; video.addEventListener(&#x27;ended&#x27;, function() {&#xA; console.log(&#x27;111&#x27;);&#xA; // Handle video conditions after it finishes&#xA; handleVideoConditions(video, overlay, paymentoverlay);&#xA; });&#xA;&#xA; video.onplay = function() {&#xA; playing.push(video);&#xA; if (!video.paused) {&#xA; video.controls = true;&#xA; // Trigger an AJAX request to register the view&#xA; registerView(video);&#xA; }&#xA; };&#xA; });&#xA;&#xA; function handleVideoConditions(video, overlay, paymentoverlay) {&#xA; console.log(&#x27;222&#x27;);&#xA; const isShortVideo = video.querySelector(&#x27;.short-video&#x27;);&#xA; const isFullVideo = video.querySelector(&#x27;.full-video&#x27;);&#xA; if (!isUserLoggedIn &amp;&amp; isShortVideo) {&#xA; overlay.style.display = &#x27;block&#x27;;&#xA; } else if (isUserLoggedIn &amp;&amp; isShortVideo) {&#xA; paymentoverlay.style.display = &#x27;block&#x27;;&#xA; }&#xA; }&#xA;&#xA; async function registerView(video) {&#xA; const videoId = video.getAttribute(&#x27;data-video-id&#x27;);&#xA; const response = await fetch(`{{ route(&#x27;video.registerView&#x27;, [&#x27;videoId&#x27; => &#x27;:videoId&#x27;]) }}`&#xA; .replace(&#x27;:videoId&#x27;, videoId));&#xA; const data = await response.json();&#xA; $(&#x27;#videoview&#x27; &#x2B; data.id).html(data.view_count);&#xA; }&#xA;&#xA; });&#xA; </script>



-
Configure error for ffmpeg 6.1 when executing in bash 5.0.17
1er mars 2024, par user2715311I am trying to install ffmpeg 6.1 (https://ffmpeg.org/releases/ffmpeg-6.1.1.tar.xz), but when executing the configure script my bash version 5.0.17 removes the double quotes from the parameters containing the condition to select the version of the libraries being searched for to pass this parameter to pkg-config.


For example, when processing code


check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version



, the pkg-config call will look something like


pkg-config --exists libopenjp2 >= 2.1.0



As a result, configure execution stops with the following error.


ERROR: libopenjp2 >= 2.1.0 not found using pkg-config



As a hint, you may be prompted to set the path to the 2.1.0.pc file in PKG_CONFIG_PATH.


It is interesting that this is the case in other versions of bash, for example, this problem is not observed in version 5.1.16.


Does this mean that bash version 5.0.17 will actually not be able to work with configure to build most code sources, because such version selection conditions are used quite often when searching for the right libraries ?


Or perhaps I can influence this bash behaviour in some way ? Or, alternatively, have I misinterpreted the problem at all and the solution is in a completely different area ?


The problem was identified in the Linux Mint 20.1 distribution.


$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: Linux Mint 20.1
Release: 20.1
Codename: ulyssa



First of all, I checked that if I call pkg-config correctly, it can find the right library on my system.


$ pkg-config --exists "libopenjp2 >= 2.1.0"
$ echo $?
0



or


$ pkg-config --cflags --libs "libopenjp2 >= 2.1.0"
-I/usr/include/openjpeg-2.3 -lopenjp2



Next, I examined the configure code associated with this problem and came to the conclusion I outlined above.