
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (77)
-
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...) -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)
Sur d’autres sites (5946)
-
batch processing - converting and adding AAC tracks
2 août 2018, par xorinzorIs it possible to write a bash script (maybe using something like ffmpeg) to detect if a movie :
- contains no AAC 5.1 audio track
- does contain an AC3 (5.1 or higher) audio track
and convert the AC3 to AAC, while keeping the AC3 track as-is, and adding the AAC as a secondary track to the movie ?
From what I’ve been able to find no such tools exist to do this in batch-processing, and since I have a lot of movie files it’d be too much work to do this manually.
I’d love to hear some thoughts, pointers, examples or idea’s about this.
-
How to record screen using FFMPEG in Background and Stop It
23 juillet 2022, par TammamI'm making a video meeting application and implementing from this repository https://github.com/boratanrikulu/quik.do and I will make a screen record if I access the room/create room server side using FFMPEG. but I have a problem because after I access the FFMPEG command, the command does not run in the background so the handler to access the room does not run. I will also make a function to stop recording that does not affect the application (the application will still run)


here my code


func RoomCreate(c *fiber.Ctx) error {
 fileName := "out.mp4"
 fmt.Println(fileName)
 if len(os.Args) > 1 {
 fileName = os.Args[1]
 }
 // Record to video and wait for enter key asynchronously
 fmt.Printf("Starting...press enter to exit...")
 errCh := make(chan error, 2)
 ctx, _ := context.WithCancel(context.Background())
 // Record
 go func() { errCh <- recordToVideo(ctx, fileName) }()
 

 //The following program from FFMPEG will stop if you press enter, and will wait here so it doesn't enter create room
 // Wait for enter
 go func() {
 fmt.Scanln()
 errCh <- nil
 }()
 err := <-errCh
 //cancelFn()
 if err != nil && err != context.Canceled {
 log.Fatalf("Execution failed: %v", err)
 }
 // Wait a bit...
 //time.Sleep(4 * time.Second)
 return c.Redirect(fmt.Sprintf("/room/%s", guuid.New().String()))
}

func recordToVideo(ctx context.Context, fileName string) error {
 ctx, cancelFn := context.WithCancel(ctx)
 defer cancelFn()
 // Build ffmpeg
 ffmpeg := exec.Command("ffmpeg",
 "-f", "gdigrab",
 "-framerate", "30",
 "-i", "desktop",
 fileName,
 )
 // Stdin for sending data
 stdin, err := ffmpeg.StdinPipe()
 if err != nil {
 return err
 }
 //var buf bytes.Buffer
 defer stdin.Close()
 // Run it in the background
 errCh := make(chan error, 1)

 go func() {
 fmt.Printf("Executing: %v\n", strings.Join(ffmpeg.Args, " "))
 //Here if
 out, err := ffmpeg.CombinedOutput()
 fmt.Printf("FFMPEG output:\n%v\n", string(out))
 errCh <- err
 }()
 // Just start sending a bunch of frames
 for {
 // Check if we're done, otherwise go again
 select {
 case <-ctx.Done():
 return ctx.Err()
 case err := <-errCh:
 return err
 default:
 }
 }
}



How do I get the command to run in the background ? and how to stop recording without stopping the application ?


-
using ffmpeg implementation live video/audio
14 mars 2018, par geeeekI am going to implementation live video/audio service using ffmpeg.
I am using embedded board with camera, mic. Receiver is android phone.
as summary :
sender : embedded board.
receiver : android phone.I have an embedded board with a camera and a microphone. The camera’s data is raw h264 data, and the audio data is raw pcm data. I want to do live video communication with Android phone, but I do not know how.
I would like to mux two data with ffmpeg and send it, but I do not know if it is possible. Thank you for your advice.
I can not be sure because I have no experience about ffmpeg in live.
About above enviroment please suggest your best methods.