
Recherche avancée
Médias (2)
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
Autres articles (107)
-
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 (...) -
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
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 (15532)
-
FFMpeg WebVTT hls playlist out of sync [closed]
29 mai 2023, par user1503606I am using the following commands with FFmpeg to encode a .mov video to hls and then also create a playlist for subtitles converting a .srt file to .vtt.



// Creating hls playlist 

ffmpeg -hide_banner -y -i /Users/dave/mermaid.mov -c:a aac -ar 48000 -c:v h264 -profile:v baseline -avoid_negative_ts 0 -start_number 0 -hls_time 10 -hls_playlist_type vod -hls_list_size 0 -f hls -vf scale=w=640:h=360:force_original_aspect_ratio=decrease -b:v 800k -maxrate 856k -bufsize 1200k -b:a 96k -hls_segment_filename /Users/dave/mermaid/360/360p_%03d.ts /Users/dave/dave/mermaid/360/360p.m3u8 
-c:a aac -ar 48000 -c:v h264 -profile:v baseline -avoid_negative_ts 0 -start_number 0 -hls_time 10 -hls_playlist_type vod -hls_list_size 0 -f hls -vf scale=w=842:h=480:force_original_aspect_ratio=decrease -b:v 1400k -maxrate 1498k -bufsize 2100k -b:a 128k -hls_segment_filename /Users/dave/Desktop/mermaid/480/480p_%03d.ts /Users/dave/Desktop/mermaid/480/480p.m3u8 
-c:a aac -ar 48000 -c:v h264 -profile:v baseline -avoid_negative_ts 0 -start_number 0 -hls_time 10 -hls_playlist_type vod -hls_list_size 0 -f hls -vf scale=w=1280:h=720:force_original_aspect_ratio=decrease -b:v 2800k -maxrate 2996k -bufsize 4200k -b:a 128k -hls_segment_filename /Users/dave/Desktop/mermaid/720/720p_%03d.ts /Users/dave/Desktop/mermaid/720/720p.m3u8 
-c:a aac -ar 48000 -c:v h264 -profile:v baseline -avoid_negative_ts 0 -start_number 0 -hls_time 10 -hls_playlist_type vod -hls_list_size 0 -f hls -vf scale=w=1920:h=1080:force_original_aspect_ratio=decrease -b:v 5000k -maxrate 5350k -bufsize 7500k -b:a 192k -hls_segment_filename /Users/dave/Desktop/mermaid/1080/1080p_%03d.ts /Users/dave/Desktop/mermaid/1080/1080p.m3u8

// Creating subtitles

ffmpeg -i /Users/dave/mermaid.mov -i /Users/dave/little-mermaid.srt -c copy -c:s webvtt -start_number 0 -hls_time 10000000 -hls_flags single_file -hls_playlist_type vod -f hls -avoid_negative_ts 0 /Users/dave/mermaid/English/master.m3u8




I am also doing this with AWS Media Convert the AWS conversion works fine the subtitles are perfectly in time but the FFMPEG version seems to be out of sync by about 1 second.



Here are both files for to compare the exact same files are used for both.



AWS Media Convert : https://d25hd5yfabpc2n.cloudfront.net/c0017bfe-3617-47a5-9525-86d69c73cf57/master.m3u8



Local FFMPEG : https://d25hd5yfabpc2n.cloudfront.net/stackoverflow/master.m3u8



The only thing I can see if I download both playlists is the AWS one has FRAME-RATE set.



Here is an example of both videos playing the FFMEPG one is noticeably out of sync



https://output.jsbin.com/xopohupivu/



Another thing I have noticed is the AWS webvtt version has this at the top of the webvtt file.



WEBVTT #Elemental Media Engine(TM) 2.16.0.602399
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:191970




Not sure what is happening here can't find any information on how to implement this with FFMPEG.



Thanks


-
ffmpeg cannot open connection tcp ://a.rtmp.youtube.com
13 mars 2024, par Hiji DeuiI want to live stream using ffmpeg, when live on Facebook it runs normally, but when I live on YouTube there is an error, is there anything wrong with the command I entered ? even though the command is the same as live on Facebook, but only the RTMP link has been changed




ffmpeg -re -i out.mp4 -c:v copy -c:a aac -ar 44100 -ab 128k -ac 2 -strict -2 -flags +global_header -bsf:a aac_adtstoasc -bufsize 3000k -f flv "rtmp://a.rtmp.youtube.com/live2/my-key-streaming"







and the output is




ffmpeg version N-55112-g7eb9cf593e-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 8 (Debian 8.3.0-6)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
 libavutil 56. 61.100 / 56. 61.100
 libavcodec 58.114.100 / 58.114.100
 libavformat 58. 64.100 / 58. 64.100
 libavdevice 58. 11.103 / 58. 11.103
 libavfilter 7. 91.100 / 7. 91.100
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2020-12-26T11:13:27.000000Z
 com.android.version: 10
 Duration: 00:00:03.27, start: 0.000000, bitrate: 21344 kb/s
 Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, unknown/bt470bg/unknown), 1920x1080, 20225 kb/s, SAR 1:1 DAR 16:9, 29.99 fps, 30.01 tbr, 90k tbn, 180k tbc (default)
 Metadata:
 rotate : 90
 creation_time : 2020-12-26T11:13:27.000000Z
 handler_name : VideoHandle
 Side data:
 displaymatrix: rotation of -90.00 degrees
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 128 kb/s (default)
 Metadata:
 creation_time : 2020-12-26T11:13:27.000000Z
 handler_name : SoundHandle
[tcp @ 0x58bf880] Connection to tcp://a.rtmp.youtube.com:1935 failed: Connection timed out
[rtmp @ 0x5893140] Cannot open connection tcp://a.rtmp.youtube.com:1935
rtmp://a.rtmp.youtube.com/live2/my-key: Connection timed out







how to fix this, btw i use vps, sorry, my english so bad and this is the first time i asked on this website


-
heroku-22 stack discord.py bot doesn't play music
30 août 2022, par bon hoI'm making music bot with discord.py and using heroku. bot is playing music my localhost but heroku host is not playing music.


I found what cause a bug.
It working nicely in heroku-20, but not working in heroku-22 stack.


How can I use heroku-22 stack without error ?
What can I do ?


I'm sorry my english is bad.


my code :


import youtube_dl
import discord
from discord import app_commands,Interaction
import asyncio
import os

class MyClient(discord.Client):
 async def on_ready(self):
 await self.wait_until_ready()
 await tree.sync()
 print(f"login at {self.user}")
 
intents= discord.Intents.all()
client = MyClient(intents=intents)
tree = app_commands.CommandTree(client)

youtube_dl.utils.bug_reports_message = lambda: ''
ytdl_format_options = {
 'format': 'bestaudio/best',
 'outtmpl': '%(extractor)s-%(id)s-%(title)s.%(ext)s',
 'restrictfilenames': True,
 'noplaylist': True,
 'nocheckcertificate': True,
 'ignoreerrors': False,
 'logtostderr': False,
 'quiet': True,
 'no_warnings': True,
 'default_search': 'auto',
 'source_address': '0.0.0.0', # bind to ipv4 since ipv6 addresses cause issues sometimes
}

ffmpeg_options = {
 'options': '-vn',
}
ytdl = youtube_dl.YoutubeDL(ytdl_format_options)
class YTDLSource(discord.PCMVolumeTransformer):
 def __init__(self, source, *, data, volume=0.5):
 super().__init__(source, volume)

 self.data = data

 self.title = data.get('title')
 self.url = data.get('url')

 @classmethod
 async def from_url(cls, url, *, loop=None, stream=True):
 loop = loop or asyncio.get_event_loop()
 data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=not stream))
 if 'entries' in data:
 # take first item from a playlist
 data=data['entries'][0]
 filename = data['url'] if stream else ytdl.prepare_filename(data)
 return cls(discord.FFmpegPCMAudio(filename, **ffmpeg_options), data=data)
queue={}
@tree.command(name="play", description="play music")
async def playmusic(interaction:Interaction,url_title:str,playfirst:bool=False):
 await interaction.response.send_message("I'm looking for music!!")
 guild=str(interaction.guild.id)
 try:
 queue[guild]
 except KeyError:
 queue[guild]=[]
 if interaction.user.voice is None:
 await interaction.edit_original_response(content="you must join any voice channel")
 else:
 voice_client: discord.VoiceClient = discord.utils.get(client.voice_clients, guild=interaction.guild)
 if voice_client == None:
 await interaction.user.voice.channel.connect()
 voice_client: discord.VoiceClient = discord.utils.get(client.voice_clients, guild=interaction.guild)
 player = await YTDLSource.from_url(url_title, loop=None)
 if playfirst and len(queue[guild])>1:
 queue[guild].insert(1,player)
 else:
 queue[guild].append(player)
 if not voice_client.is_playing():
 voice_client.play(player,after=None)
 await interaction.edit_original_response(content=f"{player.title} playing!!")
 else:
 await interaction.edit_original_response(content=f"{player.title} enqueued!")
 await asyncio.sleep(7)
 await interaction.delete_original_response()

client.run(token)