
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (50)
-
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 -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)
Sur d’autres sites (8027)
-
first audio lost when using ffmpeg to overlay one mp4 on top of a big mp4
11 septembre 2024, par James HaoI searched a lot (including chatgtp and google), and tried a lot of methods, not work.
below is my ffmpeg command line on windows 10 :


ffmpeg -i video.mp4 -i b-.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS[b1];[1:v]scale=300:-1,setpts=PTS-STARTPTS+0.0/TB[top];[b1][top]overlay=x=50:y=50:enable='between(t\,0.0,5)'[outv];[1:a]adelay=0|0[a1]; [0:a][a1]amerge=inputs=2[outa]" -map "[outv]" -map "[outa]" -pix_fmt yuv420p -c:a aac -ac 2 -c:v libx264 -crf 18 final_video6.mp4



two mp4 files, b-.mp4 should be on top of video.mp4 and play from 0th second and scale to 300 :-1, [0:a][a1]amerge is to merge two audio from the mp4 files, using "-ac 2" to replace pan statement according to enter link description here


in result mp4 file, the audio from video.mp4 is lost ; sometimes with the same instruction, but replace b-.mp4 with another mp4 file, the audio may partially lost. any help will be very appreciated.
below is the console output from ffmpeg :


ffmpeg version 7.0.1-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
 built with gcc 13.2.0 (Rev5, 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-libxevd --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --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-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --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 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100
 libpostproc 58. 1.100 / 58. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf61.1.100
 Duration: 00:00:09.40, start: 0.000000, bitrate: 72 kb/s
 Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 854x480, 21 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc61.3.100 libx264
 Stream #0:1[0x2](und): Audio: mp3 (mp3float) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 47 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'b-.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.27.100
 Duration: 00:00:05.29, start: 0.030000, bitrate: 325 kb/s
 Stream #1:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 366x132, 196 kb/s, 25.15 fps, 50 tbr, 90k tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #1:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 139 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 (h264) -> setpts:default
 Stream #0:1 (mp3float) -> amerge
 Stream #1:0 (h264) -> scale:default
 Stream #1:1 (aac) -> adelay:default
 overlay:default -> Stream #0:0 (libx264)
 amerge:default -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[Parsed_amerge_5 @ 000002a6613bf100] No channel layout for input 1
[vost#0:0/libx264 @ 000002a6612936c0] No information about the input framerate is available. Falling back to a default value of 25fps. Use the -r option if you want a different framerate.
[libx264 @ 000002a6612b8f40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002a6612b8f40] profile High, level 3.0, 4:2:0, 8-bit
[libx264 @ 000002a6612b8f40] 264 - core 164 r3191 4613ac3 - H.264/MPEG-4 AVC codec - Copyleft 2003-2024 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=15 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'final_video6.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf61.1.100
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 854x480, q=2-31, 25 fps, 12800 tbn
 Metadata:
 encoder : Lavc61.3.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
 Metadata:
 encoder : Lavc61.3.100 aac
[out#0/mp4 @ 000002a66105e640] video:93KiB audio:78KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 3.974328%
frame= 236 fps=0.0 q=-1.0 Lsize= 178KiB time=00:00:04.97 bitrate= 292.5kbits/s dup=0 drop=46 speed=16.9x
[libx264 @ 000002a6612b8f40] frame I:2 Avg QP: 4.89 size: 4803
[libx264 @ 000002a6612b8f40] frame P:63 Avg QP:14.43 size: 854
[libx264 @ 000002a6612b8f40] frame B:171 Avg QP:12.25 size: 181
[libx264 @ 000002a6612b8f40] consecutive B-frames: 2.1% 1.7% 6.4% 89.8%
[libx264 @ 000002a6612b8f40] mb I I16..4: 86.1% 10.0% 3.8%
[libx264 @ 000002a6612b8f40] mb P I16..4: 0.3% 0.1% 0.3% P16..4: 1.4% 0.6% 0.1% 0.0% 0.0% skip:97.1%
[libx264 @ 000002a6612b8f40] mb B I16..4: 0.0% 0.0% 0.1% B16..8: 1.4% 0.3% 0.0% direct: 0.0% skip:98.1% L0:52.4% L1:39.0% BI: 8.6%
[libx264 @ 000002a6612b8f40] 8x8 transform intra:11.2% inter:13.3%
[libx264 @ 000002a6612b8f40] coded y,uvDC,uvAC intra: 11.2% 12.4% 12.0% inter: 0.2% 0.2% 0.1%
[libx264 @ 000002a6612b8f40] i16 v,h,dc,p: 90% 6% 4% 0%
[libx264 @ 000002a6612b8f40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 3% 67% 0% 0% 0% 0% 0% 1%
[libx264 @ 000002a6612b8f40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 35% 15% 3% 4% 4% 5% 3% 4%
[libx264 @ 000002a6612b8f40] i8c dc,h,v,p: 86% 10% 3% 0%
[libx264 @ 000002a6612b8f40] Weighted P-Frames: Y:1.6% UV:1.6%
[libx264 @ 000002a6612b8f40] ref P L0: 69.2% 3.3% 18.7% 8.8%
[libx264 @ 000002a6612b8f40] ref B L0: 64.6% 31.0% 4.3%
[libx264 @ 000002a6612b8f40] ref B L1: 94.4% 5.6%
[libx264 @ 000002a6612b8f40] kb/s:80.06
[aac @ 000002a6612d0fc0] Qavg: 498.856



-
Output file does not show up after executing ffmpeg command [closed]
19 février 2024, par davaiI'm using ffmpeg to combine an MP3 + G file and produce an MP4 file. I've placed the source code / .exe file for 'ffmpeg' in the project folder, and the MP3 + G files are also in the project folder. I also set the MP4 output to show up in the project folder as well. The weird thing is that, initially, I was producing output files, and while trying to tweak the constant rate factor, the MP4 output just stopped showing up entirely. I'm also not receiving any errors while running the code, and it does print out that the file has been successfully created, despite nothing showing up in the project folder.



 String mp3FilePath = "C:/Users/exampleuser/pfolder/example.mp3";
 String gFilePath = "C:/Users/exampleuser/pfolder/example.cdg";
 String mp4OutputPath = "C:/Users/exampleuser/pfolder/example.mp4";

 try
 {
 String[] command = {
 "C:/Users/tonih/IdeaProjects/MP3GtoMP4Conversion/ffmpeg/ffmpeg-2024-02-19-git-0c8e64e268-full_build/bin/ffmpeg.exe",
 "-i", mp3FilePath, // Input MP3 file
 "-r", "25", // Frame rate
 "-loop", "1", // Loop input video
 "-i", gFilePath, // Input G file
 "-c:v", "libx264", // Video codec
 "-preset", "slow", // Encoding preset for quality (choose according to your requirement)
 "-crf", "18", // Constant Rate Factor (lower is higher quality, typical range 18-28)
 "-c:a", "aac", // Audio codec
 "-b:a", "320k", // Audio bitrate
 "-shortest", // Stop when the shortest stream ends
 mp4OutputPath // Output MP4 file
 };

 Process process = Runtime.getRuntime().exec(command);
 process.waitFor();
 System.out.println("MP4 file created successfully: " + mp4OutputPath);
 }
 catch (IOException | InterruptedException e)
 {
 e.printStackTrace();
 }



-
How to send a camera capture frame to YouTube streaming using ffmpeg
2 mars 2024, par 유혜진import subprocess 
import cv2

# YouTube streaming settings
YOUTUBE_URL = "rtmp://a.rtmp.youtube.com/live2/"
KEY = "..."

# OpenCV camera setup
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)

# FFmpeg command for streaming
command = [r"C:\utility\ffmpeg\ffmpeg-2024-02-22-git-76b2bb96b4-full_build\ffmpeg-2024-02-22-git-76b2bb96b4-full_build\bin\ffmpeg.exe",
 '-f', 'rawvideo',
 '-pix_fmt', 'bgr24',
 '-s', '640x480',
 '-i', '-',
 '-ar', '44100',
 '-ac', '2',
 '-acodec', 'pcm_s16le',
 '-f', 's16le',
 '-ac', '2',
 '-i', 'NUL', 
 '-acodec', 'aac',
 '-ab', '128k',
 '-strict', 'experimental',
 '-vcodec', 'h264',
 '-pix_fmt', 'yuv420p',
 '-g', '50',
 '-vb', '1000k',
 '-profile:v', 'baseline',
 '-preset', 'ultrafast',
 '-r', '30',
 '-f', 'flv', 
 f"{YOUTUBE_URL}/{KEY}",]

# Open a subprocess with FFmpeg
pipe = subprocess.Popen(command, stdin=subprocess.PIPE)

while True:
 # Read a frame from the camera
 ret, frame = cap.read()
 if not ret:
 break

 # Display the frame
 cv2.imshow('Frame', frame)
 cv2.waitKey(1) # Wait for 1ms

 # Send the frame through the pipe for streaming
 pipe.stdin.write(frame.tobytes())

 # Check for 'q' key press to stop streaming
 if cv2.waitKey(1) & 0xFF == ord('q'):
 break

# Release resources
cap.release()
cv2.destroyAllWindows()



I'm trying to implement capturing the camera screen using opencv and transmitting this frame to the YouTube streaming broadcast via ffmpeg. YouTube streaming does start when I run this code. However, it appears to be a black screen, not a camera screen. I don't see what the problem is.


I didn't even start streaming at first, but I changed the command option to various things, and when I ran the code, I succeeded in starting streaming. There are many references to transmitting mp4, but there are not many references to transmitting real-time capture. I'm going to process the camera screen using opencv and then send it to streaming. I don't know what the problem is. Please help me.