
Recherche avancée
Autres articles (45)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...)
Sur d’autres sites (11782)
-
ffmpeg out of sync after split and put together
5 septembre 2017, par LaborCLooking for the correct way to encode a given input video in multiple bitrates and then package it for dash and hls. I thought this is a basic task, but as it turns out, I could not find a best practise on how to achieve this.
So the way I do it is (but with these I get an out of sync video/audio) :First I split my video (mp4) into video and audio.
ffmpeg -c:v copy -an video_na.mp4 -i source_input.mp4
ffmpeg -c:a aac -ac 2 -async 1 -vn audio.mp4 -i source_input.mp4Then I encode the video with the following commands :
ffmpeg.exe -i video_na.mp4 -an -c:v libx264 -crf 18 \
-preset fast -profile:v high -level 4.2 -b:v 2000k -minrate 2000k \
-maxrate 2000k -bufsize 4000k -g 96 -keyint_min 96 -sc_threshold 0 \
-filter:v "scale='trunc(oh*a/2)*2:576'" -movflags +faststart \
-pix_fmt yuv420p -threads 4 -f mp4 video-2000k.mp4
ffmpeg.exe -i video_na.mp4 -an -c:v libx264 -crf 18 \
-preset fast -profile:v high -level 4.2 -b:v 1500k -minrate 1500k \
-maxrate 1500k -bufsize 3000k -g 96 -keyint_min 96 -sc_threshold 0 \
-filter:v "scale='trunc(oh*a/2)*2:480'" -movflags +faststart \
-pix_fmt yuv420p -threads 4 -f mp4 video-1500k.mp4After that I fragment the videos.
mp4fragment --fragment-duration 4000 --timescale 10000 video-2000k.mp4 \
video-2000k-f.mp4
mp4fragment --fragment-duration 4000 --timescale 10000 video-1500k.mp4 \
video-1500k-f.mp4And finally package everything together again for dash.
mp4dash --media-prefix=out \
--use-segment-timeline \
video-2000k-f.mp4 \
video-1500k-f.mp4 \
--out dashNow there is a difference between audio and video.
I think that the problem is with my parameters for encoding. But which one I have no idea.
What am I doing wrong ? -
Not able to merge init.mp4 and seg-*.m4s with ffmpeg and python due to its file format difference
1er février 2023, par XiBBaLI'm developing video downloader (only for free videos) for korean anime streaming site https://laftel.net/


I guess laftel.net uses mpeg-dash for their streaming.
I found "init.mp4" file and "segments-number.m4s" files in chrome developer tools.


Code below downloads seg-1.m4s (name of the first segment) to seg-239.m4s (name of the last segment) file and init.mp4 file and it works.



(Skip the beginning becasue there is a code that collects "Request-URL" for each .m4s files in network stream)


#variable "found" is part of the "Request-URL"

def curl_m4s():
 for i in range(1,240): #number of the .m4s segment file is constant at 239
 vid_url = f"https://mediacloud.laftel.net/{found}/video/avc1/2/seg-{i}.m4s"
 aud_url = f"https://mediacloud.laftel.net/{found}/audio/mp4a/eng/seg-{i}.m4s"
 
 if i < 10: #for single digit num
 os.system(f"curl {vid_url} > {location}/vids/vid00{i}.m4s")
 os.system(f"curl {aud_url} > {location}/auds/aud00{i}.m4s")
 sleep(random.randint(1,3))
 
 elif i < 100: #for double digit num
 os.system(f"curl {vid_url} > {location}/vids/vid0{i}.m4s")
 os.system(f"curl {aud_url} > {location}/auds/aud0{i}.m4s")
 sleep(random.randint(1,3))
 
 else: #for three digit num
 os.system(f"curl {vid_url} > {location}/vids/vid{i}.m4s")
 os.system(f"curl {aud_url} > {location}/auds/aud{i}.m4s")
 sleep(random.randint(1,3))

location = os.getcwd()

os.system(f"curl https://mediacloud.laftel.net/{found}/video/avc1/2/init.mp4 > {location}/vids/vid_init.mp4")
os.system(f"curl https://mediacloud.laftel.net/{found}/audio/mp4a/eng/init.mp4 > {location}/auds/aud_init.mp4")
os.system(f"curl https://mediacloud.laftel.net/{found}/stream.mpd > {location}/stream.mpd")

curl_m4s()
#use curl in cmd and downloads each of the .m4s (001 ~ 239)

 



So in the vids folder i have "init.mp4" for video and "seg-1.m4s seg-239.m4s" for video
and in the auds folder i have "init.mp4" for audio and "seg-1.m4s seg-239.m4s" for audio


Problem is, I cannot merge init file and segment files.
I have no idea about combining .mp4 and .m4s together.
There are a lot of example codes for merging init.m4s + seg-.m4s but I couldn't find init.mp4 + seg-.mp4 codes.


I tried to merge segments together first, like this and it works.


location = os.getcwd()

os.system(f"cd {location}")
os.system("copy /b vid*.m4s vid_full.m4s")



and now, i want to merge init.mp4 becasue it has very much information about whole video files.
But how ??


I tried these and none of them worked (looks like Successfull merge but it do not contain any watchable video)


# vid_full is merged segment files (seg-1.m4s + ... + seg-239.m4s)
 
1. 
os.system("copy /b init.mp4 + vid*.m4s video_full.m4s")
os.system("ffmpeg -i video_full.m4s -c:a copy video_full.mp4")


2. 
os.system("type vid_init.mp4 index.txt > Filename.mp4")


3. 
import os 

os.system("ffmpeg -i vid_full.m4s -c:a copy vid_full.mp4")
os.system("copy /b vid_init.mp4 + vid_full.mp4 VIDEO.mp4")



All problem occurs the format of the init file is .mp4. If it was .m4s I guess I could merge it.


and I guess i must merge init file and segments files together both in .m4s format. Is it right ?
Via ffmpeg, i couldn't encode init.mp4 to init.m4s so this is the problme also.


So, Please help me merge init.mp4 and segments.m4s


All methods are wellcome at least it is based on python.


- 

- I tried to merge init.mp4 + merged_segment.m4s but it failed
- I tried to convert init.mp4 to init.m4s via ffmpeg but it failed
- I tried to convert all the segments to .mp4 files and merge into init.mp4 but it failed








I want to merge init file and segment files and make playable video.
Pleas Teach me how to do this.


Links below are what I used for my test :


[Laftel.net URL]
https://laftel.net/player/40269/46123


[Request URL for init.mp4 (video)]
https://mediacloud.laftel.net/2021/04/46773/v15/video/dash/video/avc1/2/init.mp4


[Request URL for init.mp4 (audio)]
https://mediacloud.laftel.net/2021/04/46773/v15/video/dash/audio/mp4a/eng/init.mp4


[Request URL for seg-1.m4s (video)]
https://mediacloud.laftel.net/2021/04/46773/v15/video/dash/video/avc1/2/seg-1.m4s


[Request URL for seg-1.m4s (audio)]
https://mediacloud.laftel.net/2021/04/46773/v15/video/dash/audio/mp4a/eng/seg-1.m4s


-
Get audio (M4A or MP3) file links directly from YouTube
10 mars 2018, par AlexI am developing a PHP script that obtains video download links from YouTube. The ones I am grabbing are MP4 (720p) and MP4 (360p) (no-DASH format).
My script is similar to this PHP class : https://github.com/Athlon1600/youtube-downloader
It allows me to download any YouTube video that I want, no matter if it has copyright or not. It handles everything with signature ciphering and deciphering included.
However, apart from videos, I would like to obtain audio download links from YouTube videos as well, either in MP3 or M4A.
(M4A files are provided by YouTube, but they are in DASH format, which means, it’s not a complete file, but a collection of files that need to be merged together)
Is there a way to obtain MP3 audio download links directly from YouTube ?
I would like to avoid using FFMPEG library as it requires a lot of resources.
In the case that using a library like that is the only option, what’s the most optimal way to convert MP4 files to MP3 files ?
Is there any more efficient alternative than FFMPEG ?
PLEASE avoid comments regarding YouTube TOS