
Recherche avancée
Autres articles (97)
-
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 (...) -
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 ;
-
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.
Sur d’autres sites (11967)
-
ffmpeg command to use font on subtitle still uses the default one
3 août 2023, par mikamy command in python :


ffmpegCommandAddSub = [
 'ffmpeg', '-i', input_video, '-vf', f"subtitles={input_srt}:force_style='Fontfile=Borel-Regular.ttf:fontsdir=./'",
 '-c:v', 'libx264', '-c:a', 'copy', output_video
]



Borel-Regular.ttf is in the same folder as the python code


the font is not applied to the subtitle. what am I doing wrong or didn't pay attention ?


FFMPEG -version :


ffmpeg version N-111432-g374184a4dc-20230714 Copyright (c) 2000-2023 the FFmpeg 

developers
built with gcc 13.1.0 (crosstool-NG 1.25.0.196_227d99d)
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype 
--enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20230714
libavutil 58. 14.100 / 58. 14.100
libavcodec 60. 22.100 / 60. 22.100
libavformat 60. 10.100 / 60. 10.100
libavdevice 60. 2.101 / 60. 2.101
libavfilter 9. 8.102 / 9. 8.102
libswscale 7. 3.100 / 7. 3.100
libswresample 4. 11.100 / 4. 11.100
libpostproc 57. 2.100 / 57. 2.100



-
MP4 to HLS conversion error after resizing video using FFmpeg
26 juillet 2023, par ITeptIcklyTaWhen trying to create HLS stream from original video, FFmpeg creates HLS stream without errors.


~ $ ffmpeg -i test.mp4 -f hls -hls_time 3 -hls_segment_filename seg%02d.ts stream.m3u8



But when I resize video using this command, I get a timestamps warning :


~ $ ffmpeg -i test.mp4 -vf scale=426:240 test_240p.mp4
[mp4 @ 0xb400007429e52d00] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[mp4 @ 0xb400007429e52d00] Encoder did not produce proper pts, making some up.



And when creating HLS stream from resized video, I'm getting an error :


~ $ ffmpeg -i test_240p.mp4 -f hls -hls_time 3 -hls_segment_filename seg%02d.ts stream.m3u8 ffmpeg version N-111626-g0ba719f726 Copyright (c) 2000-2023 the FFmpeg developers
 built with clang version 16.0.6
 configuration: --arch=aarch64 --as=aarch64-linux-android-clang --cc=aarch64-linux-android-clang --cxx=aarch64-linux-android-clang++ --nm=llvm-nm --pkg-config=/data/data/com.termux/files/usr/bin/pkg-config --strip=llvm-strip --cross-prefix=aarch64-linux-android- --disable-indevs --disable-outdevs --enable-indev=lavfi --disable-static --disable-symver --enable-cross-compile --enable-gnutls --enable-gpl --enable-jni --enable-lcms2 --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgme --enable-libmp3lame --enable-libopus --enable-librav1e --enable-libsoxr --enable-libsrt --enable-libssh --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-mediacodec --enable-opencl --enable-shared --prefix=/data/data/com.termux/files/usr --target-os=android --extra-libs=-landroid-glob --disable-vulkan --enable-neon --disable-libfdk-aac libavutil 58. 14.100 / 58. 14.100 libavcodec 60. 22.100 / 60. 22.100
 libavformat 60. 10.100 / 60. 10.100 libavdevice 60. 2.101 / 60. 2.101
 libavfilter 9. 10.100 / 9. 10.100
 libswscale 7. 3.100 / 7. 3.100
 libswresample 4. 11.100 / 4. 11.100
 libpostproc 57. 2.100 / 57. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test_240p.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf60.10.100
 Duration: 00:00:10.01, start: 0.000000, bitrate: 178 kb/s
 Stream #0:0[0x1](und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/smpte170m, progressive), 426x240, 44 kb/s, SAR 640:639 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 02/24/2023.
 vendor_id : [0][0][0][0]
 encoder : Lavc60.22.100 h264_mediacodec
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 02/24/2023.
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_mediacodec))
 Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[h264_mediacodec @ 0xb400007da1f2ac00] Use 1 as the default MediaFormat i-frame-interval, please set gop_size properly (>= fps)
[h264_mediacodec @ 0xb400007da1f2ac00] Mediacodec encoder doesn't support AV_CODEC_FLAG_GLOBAL_HEADER. Use extract_extradata bsf when necessary.
Output #0, hls, to 'stream.m3u8':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf60.10.100
 Stream #0:0(und): Video: h264, yuv420p(tv, bt709/bt709/smpte170m, progressive), 426x240 [SAR 640:639 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 90k tbn (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 02/24/2023.
 vendor_id : [0][0][0][0]
 encoder : Lavc60.22.100 h264_mediacodec
 Stream #0:1(und): Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 02/24/2023.
 vendor_id : [0][0][0][0]
 encoder : Lavc60.22.100 aac
frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.25 bitr[hls @ 0xb400007da1f27d00] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[hls @ 0xb400007da1f27d00] Encoder did not produce proper pts, making some up.
[mpegts @ 0xb400007da1f29100] H.264 bitstream error, startcode missing, size 0
[hls @ 0xb400007da1f27d00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 3600 >= 3600
[vost#0:0/h264_mediacodec @ 0xb400007da200a000] Error submitting a packet to the muxer: Invalid argument
[out#0/hls @ 0xb400007da1eaa6c0] Error muxing a packet
[hls @ 0xb400007da1f27d00] Opening 'seg00.ts' for writing
[hls @ 0xb400007da1f27d00] Opening 'stream.m3u8.tmp' for writing
[out#0/hls @ 0xb400007da1eaa6c0] video:2kB audio:5kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
frame= 3 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.41 bitrate=N/A speed=3.39x
[aac @ 0xb400007da2051400] Qavg: 32468.840
Conversion failed!
~ $



I tried to build FFmpeg from GitHub and install FFmpeg from repositories, and I'm still getting this error.


-
Everytime I run my code ffmpeg responds with this instead of doing its function. How do I fix ?
25 juillet 2023, par Oreo FOutput from ffmpeg/avlib:

ffmpeg version 2023-07-19-git-efa6cec759-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 libavutil 58. 14.100 / 58. 14.100
 libavcodec 60. 22.100 / 60. 22.100
 libavformat 60. 10.100 / 60. 10.100
 libavdevice 60. 2.101 / 60. 2.101
 libavfilter 9. 8.102 / 9. 8.102
 libswscale 7. 3.100 / 7. 3.100
 libswresample 4. 11.100 / 4. 11.100
 libpostproc 57. 2.100 / 57. 2.100



Everytime I run the code it does this.


code :


import praw
import requests
import cv2
import os
from pydub import AudioSegment

def download_video(url, filename):
 response = requests.get(url)
 with open(filename, 'wb') as f:
 f.write(response.content)

def combine_videos(video_urls, output_filename):
 video_clips = []
 audio_clips = []
 for i, url in enumerate(video_urls):
 temp_filename = f'temp_video_{i}.mp4'
 download_video(url, temp_filename)
 video_clip = cv2.VideoCapture(temp_filename)
 audio_clip = AudioSegment.from_file(temp_filename, format="mp4")
 video_clips.append(video_clip)
 audio_clips.append(audio_clip)
 
 if not video_clips:
 print("No video clips to combine.")
 return

 frame_width = int(video_clips[0].get(cv2.CAP_PROP_FRAME_WIDTH))
 frame_height = int(video_clips[0].get(cv2.CAP_PROP_FRAME_HEIGHT))
 fps = int(video_clips[0].get(cv2.CAP_PROP_FPS))

 fourcc = cv2.VideoWriter_fourcc(*'mp4v')
 output_clip = cv2.VideoWriter(output_filename, fourcc, fps, (frame_width, frame_height))

 for i, video_clip in enumerate(video_clips):
 while True:
 ret, frame = video_clip.read()
 if not ret:
 break
 output_clip.write(frame)
 
 for video_clip in video_clips:
 video_clip.release()
 
 output_clip.release()

 # Combining audio using pydub
 combined_audio = sum(audio_clips)
 combined_audio.export("combined_audio.mp3", format="mp3")

 # Merging audio with video using ffmpeg
 os.system(f'ffmpeg -i {output_filename} -i combined_audio.mp3 -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 final_output.mp4')

 # Cleaning up temporary files
 os.remove("combined_audio.mp3")

def main():
 reddit = praw.Reddit(
 client_id='XXX',
 client_secret='XXX',
 user_agent='Reddit Video Downloader'
 )
 
 subreddit_name = input("Enter the name of the subreddit: ")
 limit = int(input("Enter the number of videos to download: "))
 
 subreddit = reddit.subreddit(subreddit_name)
 submissions = subreddit.hot(limit=limit)
 
 video_urls = [submission.url for submission in submissions if submission.media and 'reddit_video' in submission.media]
 
 if video_urls:
 output_filename = input("Enter the output filename (e.g., output.mp4): ")
 combine_videos(video_urls, output_filename)
 print("Videos combined successfully!")
 else:
 print("No Reddit videos found in the subreddit.")

if __name__ == "__main__":
 main()



Anyone got any idea why this happens ?


I'm making a script that scrapes videos from a specific subreddit.


Also if it helps the temp video file is corrupted when it gets made.


I've put this into chatGPT as well and brought an expert friend and he hasn't been able to help me.