
Recherche avancée
Autres articles (108)
-
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 (...) -
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. -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
Sur d’autres sites (17649)
-
Combining Video and Audio of different length in bulk
27 avril 2017, par user2981223I am going through a tv series right now and editing the files to be to my liking. I have one set which has the video I want and one set that has the audio. I have a batch file that I can run that takes the video from every file in folder "A" and the audio from every file in folder "B" and outputs it to a folder named "output." But with this particular series, that is only half of what I need done.
At the end of every episode of the files in the "B" folder there are some extra things. What I would like to do is take the audio and video from "A" and the audio from "B", combine it all into one file and also take the "A" and "B" files, compare the time stamps, and add the extra video from "B" to the output file.
Let me put it another way. Let’s say "A" is 1080p with Japanese audio and is 20 minutes long. Let’s say "B" is 720p with English audio and is 23 minutes long. I want the whole 1080p video with both audio tracks, plus the 720p video spliced onto the end. Both files start at the same spot so syncing isn’t an issue. The issue is that the difference in time is different for every episode. So some episodes are 3 minutes longer, some only 30 seconds. Is there a way to make ffmpeg or another tool look at the difference in times and just add the excess to the output file ?
Sorry for being long winded. Thanks for any help and guidance.
-
avformat/gifdec : switch to using gif parser
20 mai 2023, par Paul B Mahol -
Nginx RTMP module not creating .m3u8 in correct format
24 juin 2024, par Moiz HassanI am creating a rtmp server using nginx-rtmp-module inside a docker container. Using OBS I can connect with the server to start a live stream. M3U8 and .ts files are being created successfully but the .m3u8 file isn't in format I want. The generated .m3u8 file is like :


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:5
#EXT-X-TARGETDURATION:10



but I want to generate .m3u8 file so it is simialr to this :


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10.000000,
0.ts
#EXTINF:10.000000,
1.ts
#EXTINF:10.000000,
2.ts
#EXTINF:10.000000,
3.ts
#EXTINF:10.000000,
4.ts
#EXTINF:10.000000,
5.ts




. The following is the nginx config that I am using :


user root;
worker_processes auto;
#error_log logs/error.log;

events {
 worker_connections 1024;
}

# RTMP configuration
rtmp {
 server {
 listen 1935; # Listen on standard RTMP port
 chunk_size 4000; 
 # ping 30s;
 # notify_method get;

 # This application is to accept incoming stream
 application live {
 live on; # Allows live input

 
 push rtmp://localhost:1935/show; 
 drop_idle_publisher 10s; 
 }

 # This is the HLS application
 application show {
 live on; # Allows live input from above application
 deny play all; # disable consuming the stream from nginx as rtmp

 
 hls on; # Enable HTTP Live Streaming
 hls_fragment 10;
 hls_playlist_length 0;
 hls_path /mnt/hls/; # hls fragments path
 hls_nested on;

 hls_fragment_naming sequential;
 
 hls_cleanup off;
 
 }


 }
}


http {
 sendfile off;
 tcp_nopush on;
 directio 512;
 # aio on;
 
 # HTTP server required to serve the player and HLS fragments
 server {
 listen 8080;
 
 # Serve HLS fragments
 location /hls {
 types {
 application/vnd.apple.mpegurl m3u8;
 video/mp2t ts;
 }
 
 root /mnt;

 add_header Cache-Control no-cache; # Disable cache
 
 # CORS setup
 add_header 'Access-Control-Allow-Origin' '*' always;
 add_header 'Access-Control-Expose-Headers' 'Content-Length';
 
 # allow CORS preflight requests
 if ($request_method = 'OPTIONS') {
 add_header 'Access-Control-Allow-Origin' '*';
 add_header 'Access-Control-Max-Age' 1728000;
 add_header 'Content-Type' 'text/plain charset=UTF-8';
 add_header 'Content-Length' 0;
 return 204;
 }
 }
 
 # Serve DASH fragments
 location /dash {
 types {
 application/dash+xml mpd;
 video/mp4 mp4;
 }

 root /mnt;
 
 add_header Cache-Control no-cache; # Disable cache


 # CORS setup
 add_header 'Access-Control-Allow-Origin' '*' always;
 add_header 'Access-Control-Expose-Headers' 'Content-Length';

 # Allow CORS preflight requests
 if ($request_method = 'OPTIONS') {
 add_header 'Access-Control-Allow-Origin' '*';
 add_header 'Access-Control-Max-Age' 1728000;
 add_header 'Content-Type' 'text/plain charset=UTF-8';
 add_header 'Content-Length' 0;
 return 204;
 }
 } 
 
 # This URL provides RTMP statistics in XML
 location /stat {
 rtmp_stat all;
 rtmp_stat_stylesheet stat.xsl; # Use stat.xsl stylesheet 
 }

 location /stat.xsl {
 # XML stylesheet to view RTMP stats.
 root /usr/local/nginx/html;
 }

 }
}