
Recherche avancée
Autres articles (55)
-
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...) -
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 -
Prérequis à l’installation
31 janvier 2010, parPréambule
Cet article n’a pas pour but de détailler les installations de ces logiciels mais plutôt de donner des informations sur leur configuration spécifique.
Avant toute chose SPIPMotion tout comme MediaSPIP est fait pour tourner sur des distributions Linux de type Debian ou dérivées (Ubuntu...). Les documentations de ce site se réfèrent donc à ces distributions. Il est également possible de l’utiliser sur d’autres distributions Linux mais aucune garantie de bon fonctionnement n’est possible.
Il (...)
Sur d’autres sites (8331)
-
FFMPEG being killed when processing H264 video
4 mai 2017, par Stuart ClarkeI have a program that when given a video (video.mp4), extracts the audio, a thumbnail image and the video into separate files, adds some background music to the audio file to create a new file (combined.mp3), increases the resolution of the video to 1080p and saves to a new file (videoHD.mp4), adds intro and credits to the start and end (already in 1080p) and saves that to a new file (merged.mp4) and finally combines the processed video and audio into an output file (videoExt.mp4). I’m using ffmpeg through python and
subprocess.call
to do all this but the raw ffmpeg commands are as follows.ffmpeg -y -i video.mp4 -acodec mp3 audioTrack.mp3
ffmpeg -y -ss 00:00:00 -i video.mp4 -vframes 1 -q:v 2 thumb.jpg
ffmpeg -y -i video.mp4 -an videoTrack.mp4
ffmpeg -y -i audioTrack.mp3 -i musicTrack.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 combined.mp3
ffmpeg -y -i videoTrack.mp4 -vf 'scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:x=(1920-iw)/2:y=(1080-ih)/2:color=black' videoHD.mp4
ffmpeg -y -f concat -i vids.ini -an merged.mp4
ffmpeg -y -i merged.mp4 -i combined.mp3 -strict -2 -shortest videoExt.mp4Between extracting the audio and combining with the music I add a silent period matching the intro length to the beginning for the audio and lower the volume of the music for the duration of the video section and crop the music to the length of the combined intro, video and credits. This is all done with AudioSegment and works well.
My problem is that the ffmpeg process keeps being
killed
. It happens in various places at various times, but always when processing the video at 1080p. I’m sure it has something to do with the H264 codec but when I use mpeg4 the quality is terrible. The videos are always less than a minute (Instagram videos) and at most 25Mb, I’m using a VPS with Ubuntu Server 15.04 installed, it should be able to handle this surely. If not is there a way around it, processing the video in parts ?Here is an example of the error but as I said, it can happen in various places and sometimes will complete for one command but I have never had it complete for all.
# ffmpeg -y -f concat -i vids.ini -an merged.mp4
ffmpeg version 2.5.10-0ubuntu0.15.04.1 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
configuration: --prefix=/usr --extra-version=0ubuntu0.15.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libwavpack --enable-libwebp --enable-libxvid --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libvpx --enable-libx264 --enable-libsoxr --enable-gnutls --enable-openal --enable-libopencv --enable-librtmp --enable-libx265
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 13.100 / 56. 13.100
libavformat 56. 15.102 / 56. 15.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 2.103 / 5. 2.103
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, concat, from 'vids.ini':
Duration: N/A, start: 0.000000, bitrate: 2999 kb/s
Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2996 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn, 59.94 tbc
Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s
[libx264 @ 0x134fd00] using SAR=1/1
[libx264 @ 0x134fd00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x134fd00] profile High, level 4.0
[libx264 @ 0x134fd00] 264 - core 142 r2495 6a301b6 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - 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=6 lookahead_threads=1 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=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'merged.mp4':
Metadata:
encoder : Lavf56.15.102
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 11988 tbn, 29.97 tbc
Metadata:
encoder : Lavc56.13.100 libx264
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 13 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=1 dro
frame= 28 fps= 27 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=1 dro
frame= 46 fps= 21 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=1 dro
frame= 51 fps= 16 q=29.0 size= 120kB time=00:00:00.-3 bitrate=N/A dup=1 dr
frame= 55 fps= 15 q=29.0 size= 154kB time=00:00:00.10 bitrate=12574.5kbits
frame= 60 fps= 14 q=29.0 size= 195kB time=00:00:00.26 bitrate=5981.0kbits/
frame= 65 fps= 13 q=29.0 size= 254kB time=00:00:00.43 bitrate=4797.0kbits/
frame= 69 fps= 12 q=29.0 size= 287kB time=00:00:00.56 bitrate=4142.1kbits/
frame= 73 fps= 12 q=29.0 size= 375kB time=00:00:00.70 bitrate=4384.2kbits/
frame= 76 fps= 11 q=29.0 size= 418kB time=00:00:00.80 bitrate=4278.4kbits/
frame= 81 fps= 11 q=29.0 size= 441kB time=00:00:00.96 bitrate=3732.4kbits/
frame= 85 fps= 10 q=29.0 size= 472kB time=00:00:01.10 bitrate=3511.0kbits/
Killed1 drop=0Any ideas or if anyone knows a better way to this please let me know.
Cheers,
Stu
-
How can I remove every nth frame from raw video using ffmpeg ?
15 juin 2024, par DaveB44Question moved to SuperUser, please reply there


I have many cine films that have been digitally converted. They have been converted as a 25 fps with 2 frames in every 23 duplicated. I need to remove the duplicated frames using a bitstream filter so there is no decoding/encoding.


After removing the frames I will change to the original cine frame rate of 18 fps. I will then change the frame rate to 25 fps using duplicated frames. I don't want to interpolate as I want to preserve the jerky format of the cine. Finally I will video editing software that will do the final encoding.


All the additional steps will cause several stages of decoding/encoding, that I need to avoid.


First I used a combination of the answers to FFmpeg remove video frames at specific intervals and FFmpeg remove every 6th frame starting from the 3rd frame, on an mp4 file to check it works. I modified it to remove every 4th and 17th frame in 25.


ffmpeg -loglevel warning -i cine.mp4 -an -vf "select='if((mod(n-4,25)),(mod(n-17,25)))',setpts='N/FRAME_RATE/TB'" cine-23.mp4



This works fine, but I end up with a file a quarter the size.


I now used Gyan's answer in Using ffmpeg to change framerate to extract the raw bitstream.


ffmpeg -loglevel warning -i cine.mp4 -c copy -f h264 cine.h264



This created the h264 file as expected, surprisingly it was 16 kB smaller than the original (67 GB file size).


I then modified the code to use the .h264 file.


ffmpeg -loglevel warning -i cine.h264 -vf "select='if((mod(n-4,25)),(mod(n-17,25)))',setpts='N/FRAME_RATE/TB'" cine-23.h264



This gave the following error, but created the cine-23.h264 file although it was the same size as cine-23.mp4 in the test above


[h264 @ 00000245ec0bfb80] non-existing SPS 0 referenced in buffering period
 Last message repeated 1 times



I then checked the ffmpeg bitstream filter documentation and found the bitstream filter setts. I changed my code to the following.


ffmpeg -loglevel warning -i cine.h264 -bsf:v "select='if((mod(n-4,25)),(mod(n-17,25)))',setts=pts='N/FRAME_RATE/TB'" cine-23.h264



Which resulted in the following error.


[vost#0:0/libx264 @ 000002916cf173c0] Error parsing bitstream filter sequence 'select='if((mod(n-4,25)),(mod(n-17,25)))',setts=pts='N/FRAME_RATE/TB'': Bitstream filter not found
Error opening output file cine-23.h264.
Error opening output files: Bitstream filter not found



I'm assuming the error is because setts does not support select. Is there another way to achieve what I am looking for ?


I could use mpdecimate but as that has to compare each frame it is much slower than defining it only needs to delete frames 4 and 17 in every second.


This is the output of ffprobe on my original file.


ffprobe version 2023-11-28-git-47e214245b-full_build-www.gyan.dev Copyright (c) 2007-2023 the FFmpeg developers
 built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --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-dxva2 --enable-d3d11va --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. 32.100 / 58. 32.100
 libavcodec 60. 35.100 / 60. 35.100
 libavformat 60. 18.100 / 60. 18.100
 libavdevice 60. 4.100 / 60. 4.100
 libavfilter 9. 14.100 / 9. 14.100
 libswscale 7. 6.100 / 7. 6.100
 libswresample 4. 13.100 / 4. 13.100
 libpostproc 57. 4.100 / 57. 4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'cine.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 19529864
 compatible_brands: mp42isom
 creation_time : 2024-02-19T21:01:10.000000Z
 Duration: 00:01:00.00, start: 0.000000, bitrate: 9245 kb/s
 Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 720x576 [SAR 35:32 DAR 175:128], 9243 kb/s, 25 fps, 25 tbr, 25 tbn (default)
 Metadata:
 creation_time : 2024-02-19T21:01:10.000000Z
 handler_name : Video Media Handler
 vendor_id : [0][0][0][0]
 encoder : AVC Coding



-
FFMPEG conversion failed at random times on live stream to youtube
3 avril 2022, par good karmaI am running a bash script using ubuntu server on arm64 that live streams video and audio to youtube, heres the script below


FFMPEG is the lateset version available in the ubuntu repo


#! /bin/bash

VBR="8000k"
FPS="24"
QUAL="superfast"

YOUTUBE_URL="rtmp://a.rtmp.youtube.com/live2"
KEY="****"

VIDEO_SOURCE="/mnt/disk1/test/****"

AUDIO_SOURCE="****"

ffmpeg \
 -re -f lavfi -i "movie=filename=$VIDEO_SOURCE:loop=0, setpts=N/(FRAME_RATE*TB)" \
 -thread_queue_size 512 -i "$AUDIO_SOURCE" \
 -map 0:v:0 -map 1:a:0 \
 -map_metadata:g 1:g \
 -vcodec libx264 -pix_fmt yuv420p -preset $QUAL -r $FPS -g $(($FPS * 2)) -b:v $VBR \
 -acodec libmp3lame -ar 44100 -threads 4 -qscale:v 3 -b:a 320000 -bufsize 512k \
 -report -loglevel fatal -nostats \
 -f flv "$YOUTUBE_URL/$KEY"



The stream works fine, however after a seemingly random period of time, I get a conversion failed error


first after 64 hours of streaming
second after 12 hours of streaming
third after 8 hours of streaming


The server itsef is fine cpu and memory usage are extremly low and there are no spikes


from what i can guess the error has something to do with libx264 judging by the error logs, although I do not really know. After some guidance on what to do try next. Here is the tail end of the ffmpeg log report


[libx264 @ 0xaaab23ad3e30] frame=1351975 QP=16.89 NAL=2 Slice:P Poc:14 I:6461 P:1224 SKIP:475 size=26602 bytes
av_interleaved_write_frame(): Broken pipe
No more output streams to write to, finishing.
[libx264 @ 0xaaab23ad3e30] frame=1351976 QP=17.90 NAL=2 Slice:B Poc:10 I:2395 P:3322 SKIP:2443 size=20127 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351977 QP=17.89 NAL=0 Slice:B Poc:12 I:1848 P:3235 SKIP:3077 size=17313 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351978 QP=15.65 NAL=2 Slice:P Poc:22 I:6458 P:1171 SKIP:531 size=26073 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351979 QP=17.19 NAL=2 Slice:B Poc:18 I:2766 P:3514 SKIP:1880 size=19633 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351980 QP=18.35 NAL=0 Slice:B Poc:16 I:1233 P:2876 SKIP:4051 size=11769 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351981 QP=17.28 NAL=0 Slice:B Poc:20 I:822 P:3197 SKIP:4141 size=10699 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351982 QP=17.08 NAL=2 Slice:P Poc:30 I:6351 P:1443 SKIP:366 size=29120 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351983 QP=17.29 NAL=2 Slice:B Poc:26 I:2060 P:4211 SKIP:1889 size=18465 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351984 QP=18.00 NAL=0 Slice:B Poc:24 I:472 P:3225 SKIP:4463 size=8893 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351985 QP=17.98 NAL=0 Slice:B Poc:28 I:1339 P:3681 SKIP:3140 size=13378 bytes
[libx264 @ 0xaaab23ad3e30] frame=1351986 QP=15.57 NAL=2 Slice:P Poc:32 I:6270 P:1584 SKIP:306 size=33703 bytes
av_interleaved_write_frame(): Broken pipe
[libmp3lame @ 0xaaab23ac06f0] Trying to remove 47 more samples than there are in the queue
[flv @ 0xaaab23ad2ff0] Failed to update header with correct duration.
[flv @ 0xaaab23ad2ff0] Failed to update header with correct filesize.
Error writing trailer of rtmp://a.rtmp.youtube.com/live2/****: Broken pipe
frame=1351987 fps= 24 q=22.0 Lsize=37296521kB time=15:38:52.22 bitrate=5423.8kbits/s dup=0 drop=56332 speed= 1x 
video:35035969kB audio:2200479kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.161329%
Input file #0 (movie=filename=/mnt/disk1/test/****.mp4:loop=0, setpts=N/(FRAME_RATE*TB)):
 Input stream #0:0 (video): 1408319 packets read (4380435417600 bytes); 1408319 frames decoded; 
 Total: 1408319 packets (4380435417600 bytes) demuxed
Input file #1 (https://****.mp3):
 Input stream #1:0 (audio): 2156470 packets read (901316441 bytes); 2156470 frames decoded (2484253440 samples); 
 Total: 2156470 packets (901316441 bytes) demuxed
Output file #0 (rtmp://a.rtmp.youtube.com/live2/****):
 Output stream #0:0 (video): 1351987 frames encoded; 1351976 packets muxed (35876832486 bytes); 
 Output stream #0:1 (audio): 2156470 frames encoded (2484253440 samples); 2156469 packets muxed (2253290057 bytes); 
 Total: 3508445 packets (38130122543 bytes) muxed
3564789 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0xaaab23ac4ef0] Statistics: 0 seeks, 3823215 writeouts
[rtmp @ 0xaaab23dab6a0] UnPublishing stream...
[rtmp @ 0xaaab23dab6a0] Deleting stream...
[libx264 @ 0xaaab23ad3e30] frame I:53166 Avg QP:16.31 size: 39514
[libx264 @ 0xaaab23ad3e30] frame P:500115 Avg QP:17.79 size: 32831
[libx264 @ 0xaaab23ad3e30] frame B:798706 Avg QP:19.67 size: 21732
[libx264 @ 0xaaab23ad3e30] consecutive B-frames: 13.9% 15.2% 20.2% 50.7%
[libx264 @ 0xaaab23ad3e30] mb I I16..4: 45.9% 44.7% 9.4%
[libx264 @ 0xaaab23ad3e30] mb P I16..4: 40.6% 37.1% 2.2% P16..4: 16.5% 0.0% 0.0% 0.0% 0.0% skip: 3.7%
[libx264 @ 0xaaab23ad3e30] mb B I16..4: 16.3% 16.2% 0.2% B16..8: 25.0% 0.0% 0.0% direct:19.7% skip:22.5% L0:48.7% L1:48.4% BI: 2.9%
[libx264 @ 0xaaab23ad3e30] 8x8 transform intra:47.5% inter:31.9%
[libx264 @ 0xaaab23ad3e30] coded y,uvDC,uvAC intra: 15.8% 78.7% 25.0% inter: 2.0% 60.3% 1.8%
[libx264 @ 0xaaab23ad3e30] i16 v,h,dc,p: 50% 20% 9% 21%
[libx264 @ 0xaaab23ad3e30] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 16% 31% 4% 7% 5% 5% 6% 6%
[libx264 @ 0xaaab23ad3e30] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 20% 33% 2% 2% 2% 1% 2% 2%
[libx264 @ 0xaaab23ad3e30] i8c dc,h,v,p: 29% 18% 18% 35%
[libx264 @ 0xaaab23ad3e30] Weighted P-Frames: Y:3.0% UV:2.2%
[libx264 @ 0xaaab23ad3e30] kb/s:5095.01
[AVIOContext @ 0xaaab22460eb0] Statistics: 42281852862 bytes read, 2731 seeks
[AVIOContext @ 0xaaab23ac4de0] Statistics: 901390389 bytes read, 0 seeks
Conversion failed!