Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (107)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 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, par

    Explications 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, par

    Certains 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 user1503606

    I 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 Deui

    I 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 ho

    I'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)