
Recherche avancée
Autres articles (103)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (16001)
-
Enable Quality Selector Control in Angular Using Video.js
22 juillet, par Abhay SinghI am using Video.js in an Angular 19.1.3 application, with version 8.21.0 of Video.js. I have successfully set up an HLS stream using a master index.m3u8 file, and the player automatically switches to lower quality segments when the network is slow, and to higher quality when the network is good. This part works as expected.


However, I would like to add a manual quality selection option to allow users to choose the video quality themselves. Despite trying several plugins (such as videojs-hls-quality-selector and videojs-contrib-quality-levels), I haven't been able to get it working.


Can anyone guide me on how to implement this feature in Video.js, ensuring that the quality selector is available for manual selection ?


Below is my Components code -


import {AfterViewInit, Component} from '@angular/core';
import videojs from 'video.js';
import '@videojs/http-streaming';
import 'video.js/dist/video-js.css';

@Component({
 selector: 'app-home',
 imports: [],
 templateUrl: './home.component.html',
 styleUrl: './home.component.css'
})
export class HomeComponent implements AfterViewInit {
 
 ngAfterViewInit(): void {
 const player = videojs('my-video', {
 autoplay: false,
 controls: true,
 preload: 'auto',
 fluid: true,
 aspectRatio: '16:9',
 })
 
 }
}



Below is my HTML code -


<video class="video-js vjs-default-skin" controls="controls">
 <source src="https://localhost:7063/videos/no1lvswh.zdw.mkv/index.m3u8" type="application/x-mpegURL">
 </source></video> 



-
export .ogg audio packets with ffmpeg
15 décembre 2020, par badcodeMy purpose is to read a simple .ogg file from disk and export all the audio packets to disk again as multiple .ogg files.




// creating AVIOContext (main)




AVIOContext avio = avio_alloc_context(new BytePointer(av_malloc(BUFFER_SIZE)), 
 BUFFER_SIZE, 1, outputFormatContext, null, writeCallback, null);
 outputFormatContext.pb(avio);
 ret = avformat_write_header(outputFormatContext, (AVDictionary)null);

 





// reading packets and write them to disk




AVPacket pkt = new AVPacket();
 while (av_read_frame(inputFormatContext, pkt) >= 0) 
 {
 
 ret = av_write_frame(outputFormatContext, pkt);
 if (ret != 0) {
 System.out.println("Write frame is failed ");
 }
 
 av_packet_unref(pkt);
 }





and finally, this is my callback function :




static int BUFFER_SIZE = 8192;
 static class WriteCallback extends Write_packet_Pointer_BytePointer_int {
 @Override public int call(Pointer opaque, BytePointer buf, int buf_size) {
 try {
 
 File dir = new File("audio_parts");
 if (!dir.exists()) {
 dir.mkdir();
 }
 
 FileOutputStream fos = new FileOutputStream(dir.getAbsolutePath() + "/audio_file_part" + fileCount);
 
 byte[] b = new byte[buf_size];
 buf.get(b, 0, buf_size);
 fos.write(b, 0, buf_size);
 
 fos.close();
 fileCount++;
 return buf_size;
 }
 catch (Throwable t) {
 System.err.println("Error on OutputStream.write(): " + t);
 return -1;
 }
 }
 }

 static WriteCallback writeCallback = new WriteCallback();



Actually, this code is working well but I have some problems with packets. I wanted to export each packet one by one, but for the test.ogg the callback function is called for every 50 packets(50 packets=1 second), and this number changes for other audio files.


How can I control the callback and is it possible to extract sound packets one by one as a .ogg file.


-
Android - ffmpeg ignore loop after export
1er juin 2017, par NewUserGood day all. I am currently using this FFMPEG library. Here is the command I am running
String[] s = {"-i" ,mVideoUri.toString(),"-i",newBackgroundBitmap.getPath(),"-filter_complex","[1:v][0:v]scale2ref=iw:ih[ovr][base];[ovr]colorchannelmixer=aa=0.7[ovrl];[base][ovrl]overlay[v]","-map","[v]","-c:v","libx264","-preset","ultrafast",directoryToStore+"/"+lastSaved+mp};
//mVideoUri.toString() is the selected video
//newBackgroundBitmap.getPath() is a drawn bitmapmMediaPlayer also has anchor/loop control points, to ’loop’ the video.(shown in the image below)
Everything works perfectly, the video is saved perfectly as I suspected.
But here is where the problem comes, after I saved the video and try to use that video in ANY (even my) editing application, the starting point is messed up, it is hard to put it in words, so here is a image.video control points after export
REMEMBER THIS ONLY HAPPENS AFTER I EXPORTED THE VIDEO
The problem is definitely caused by ffmpeg or ffmpeg command. I have tried forcing the start and end control points ;
private Runnable updateVideoTime = new Runnable() {
public void run() {
if (!Activity.this.mMediaPlayer.isPlaying()) {
Activity.this.mMediaPlayer.seekTo(Activity.this.leftPosition);
Activity.this.mMediaPlayer.start();
}
No matter what I try I can’t stop the ’progressBar’ from ignoring the starting loop. It could perhaps be the fact that the ffmpeg used in the library is out of date ?
Has anyone who used ffmpeg(or this library) before dealt with this issue ?
Any help would be appreciated.