Deblock | Simple deblocking filter | Widget library
kandi X-RAY | Deblock Summary
kandi X-RAY | Deblock Summary
Simple deblocking filter by Manao and Fizick. It does a deblocking of the picture, using the deblocking filter of h264.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Deblock
Deblock Key Features
Deblock Examples and Code Snippets
Community Discussions
Trending Discussions on Deblock
QUESTION
Using ffmpeg I add a video overlay successfully over an origin video (origin has audio, overlay doesn't). However the audio of the origin video doesn't appear in the result video.
...ANSWER
Answered 2021-Apr-26 at 23:42Tell it which audio you want with -map
:
QUESTION
Issue : I have 7 images in a list (with different size, resolution and format). I am adding an mp3 audio file and fade effect while making a slideshow with them, as i am trying to do it by following command
...ANSWER
Answered 2021-Mar-17 at 17:49Remove -framerate 1/5
. That's too low of a value for your given -t
and it won't work well with fade (image a fade at 0.2 fps). You're only applying that to the first input, while the rest are using the default -framerate 25
. Remove it and the image will be visible.
Alternatively, use -framerate 1
for each image input, and add fps=25
after each setsar
. It will be significantly faster.
QUESTION
I'm trying to use ffmpeg to prepare a mp4 file which is vertical recorded for upload to youtube. (on a synology DS220+) In the output file I want to have no black bars on the side but blured sodebars of the movie itself. This I'm trying to do whit this code (in the end I want to automate this process, but maybe there is a better way to do this):
...ANSWER
Answered 2021-Mar-14 at 17:24Your ffmpeg
is from 2015 and is too old. Try upgrading using SynoCommunity.
QUESTION
I have a use case where I need to downscale a 716x1280
mp4 video to 358x640
(half of the original). Command that I used is
ANSWER
Answered 2021-Feb-18 at 14:29You need to use Bit Stream Video Filter for setting h264 metadata.
When a video player plays a video file, it looks for metadata that attached to the video stream (h264 metadata for example).
The H.264 metadata parameters that affects the colors and brightness are: video_format
, colour_primaries
, transfer_characteris
and matrix_coefficients
.
If the parameters are not set, there are defaults.
The defaults for low resolution video are "Limited Range" BT.601 (in most player - I am not sure about MAC OS).
The default gamma curve (affects the brightness) is sRGB gamma curve.
The player converts the pixels from YUV color space to RGB (for displaying the video). The conversion formula is done according to the metadata.
Your input video file input.mp4
has H.264 metadata parameters that are far from the default.
We can assume that scale
video filter does not change the color characteristics (the filter applies the YUV elements without converting to RGB).
The characteristics of input.mp4
applies BT.2020, and HLG gamma curve, but converted as if they were default (BT.601 and sRGB gamma), so the colors and brightness are very different from what they should have been.
When FFmpeg encodes a video stream, it does not copy the metadata parameters from the input to the output - you need to set the parameters explicitly.
The solution is using a Bit Stream Video Filter for setting the metadata parameters.
Try using the following command:
QUESTION
So, I made 2 scripts that convert CCTV footage in mp4 videos. One of them is just a -vcodec copy
and creates a mp4 with the same size of the footage (huge, btw) and my other alternative was tweak with some parameters and figure out what was the best I could do without sacrifice too much quality and make it "fast".
Then I come up with c:v libx264 -crf 30 -preset veryfast -filter:v fps=fps=20
which took something like 2 secs in my machine to run an average 6MB file and transform into a 600kB file.
Happy with the results I decided to put it on AWS lambda (to avoid bottlenecks), and then people started to complain about missing files, so I increase the timeout and the memory to 380MB. And even after that, I am still getting a few lambda errors...
Anyway, the lambda is going to cost me too much compared to just store the file without compression, there is another way to decrease size without sacrificing time?
[UPDATE] I crunch some numbers and even tho using lambda is not what I expected, I am still saving a lot of cash monthly by reducing the file size 10x times.
As asked, this is the logs for the ffmpeg.
...ANSWER
Answered 2021-Feb-17 at 17:55You have to choose a balance between encoding speed and encoding efficiency.
- Choose the slowest
-preset
you have patience for. - Choose the highest
-crf
value that provides an acceptable quality.
See FFmpeg Wiki: H.264 for more info.
libx265If libx264 does not make a small enough file try libx265, but it takes longer to encode.
See FFmpeg Wiki: HEVC/H.265 for more info.
Hardware accelerated encoderIf you have the proper hardware, then you can use NVENC, QuickSync, or some other implementation.
Encoding will be fast, but it will not match the quality per bit provided by libx264 or libx265.
See FFmpeg Wiki: Hardware for more info.
QUESTION
I'm using the rtsp-simple-server (https://github.com/aler9/rtsp-simple-server) and feed the RTSP Server with a FFMPEG stream.
I use a docker compose file to start the stream:
...ANSWER
Answered 2021-Jan-25 at 12:11When you say, "the quality of the video becomes pretty bad," I guess you mean your transcoded output video has a lot of block artifacts in it. That's generally because you haven't allocated enough bandwidth to your output video stream. Without enough output bandwidth to play with, the coder quantizes and eliminates higher-frequency stuff so it looks nasty.
You didn't mention what sort of program material you have. But it's worth mentioning this: in material with lots of motion (think James Bond flick) it doesn't save much bandwidth to reduce the frame rate: we're coding the difference between successive frames. The longer you wait between frames, the more differences there are to code (and the harder the motion estimator has to work). If you radically reduce the frame rate (from 24 to 2 for example) it gets much worse.
Talking-heads material is generally less sensitive to framerate.
You might try setting your bandwidth -- your output bitrate -- explicitly like this.
QUESTION
I try to make video from 2 jpeg (6912x3456 px, files is large it is 360 panoramas) with ffmpeg by
...ANSWER
Answered 2021-Jan-15 at 19:42Your linked x264 is too old and therefore has a max level of 5.2 which 6912x3456@30 is past the level limit (as shown by your ffmpeg process output). While exceeding the limit may or may not be the reason for the hang I expect a newer version of x264 will support level 6.0 and will not hang. You have several options:
- Upgrade your x264 (and your ffmpeg while you're at it as the 3.2 branch is from 2016). See the compile guide or download a recent ffmpeg with modern libx264 included.
- Or add the scale filter and try to stay within the level limits:
-vf "scale=4096:-2,fps=30,format=yuv420p"
- Or try
-c:v libx265
instead of-c:v libx264
(it also has levels to be aware of). - Or you may have just not waited long enough.
QUESTION
I’m trying to generate a video and audio for every 40ms in a separate files and sending it to the cloud for a live stream, but created videos and audio’s are unable to play using ffplay.
Command:
ffmpeg -f alsa -thread_queue_size 1024 -i hw:0 -f video4linux2 -i /dev/video0 -c:a aac -ar 48k -t 0:10 -segment_time 00:00.04 -f segment sample-%003d.aac -c:v h264 -force_key_frames "expr:gte(t,n_forced*0.04)" -pix_fmt yuv420p -s:v 640x480 -t 0:10 -r 25 -g 1 -segment_time 00:00.04 -f segment frame-%003d.h264
Error:
frame-001.h264: Invalid data found when processing input.
Console output:
...configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --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-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, alsa, from 'hw:0': Duration: N/A, start: 1610338632.931406, bitrate: 1536 kb/s Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Input #1, video4linux2,v4l2, from '/dev/video0': Duration: N/A, start: 3405.427360, bitrate: 147456 kb/s Stream #1:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> aac (native))
Stream #1:0 -> #1:0 (rawvideo (native) -> h264 (libx264)) Press [q] to stop, [?] for help [alsa @ 0x55777d96fe00] ALSA buffer xrun. [segment @ 0x55777d983d80] Opening 'sample-000.aac' for writing Output #0, segment, to 'sample-%003d.aac': Metadata: encoder : Lavf57.83.100 Stream #0:0: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc57.107.100 aac [libx264 @ 0x55777d98fa20] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264 @ 0x55777d98fa20] profile High, level 3.0 [libx264 @ 0x55777d98fa20] 264
- core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 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=0 weightp=0 keyint=1 keyint_min=1 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 [segment @ 0x55777d98dda0] Opening 'frame-000.h264' for writing Output #1, segment, to 'frame-%003d.h264': Metadata: encoder : Lavf57.83.100 Stream #1:0: Video: h264 (libx264), yuv420p, 640x480, q=-1--1, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.107.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 [segment @ 0x55777d983d80] Opening 'sample-001.aac' for writing [segment @ 0x55777d98dda0] Opening 'frame-001.h264' for writing [segment @ 0x55777d98dda0] Opening 'frame-002.h264' for writing [segment @ 0x55777d98dda0] Opening 'frame-003.h264' for writing [segment @ 0x55777d98dda0] Opening 'frame-004.h264' for writing [segment @ 0x55777d98dda0] Opening 'frame-005.h264' for writing [segment @ 0x55777d98dda0] Opening 'frame-006.h264' for writingA dup=1 drop=0 speed=1.07x ... [segment @ 0x55777d98dda0] Opening 'frame-018.h264' for writingA dup=5 drop=0 speed=0.714x ...
[segment @ 0x55777d98dda0] Opening 'frame-029.h264' for writingA dup=12 drop=0 speed=0.768x ... [segment @ 0x55777d98dda0] Opening 'frame-042.h264' for writingA dup=21 drop=0 speed=0.834x ... [segment @ 0x55777d983d80] Opening 'sample-055.aac' for writingA dup=31 drop=0 speed=0.89x ... [segment @ 0x55777d98dda0] Opening 'frame-067.h264' for writingA dup=39 drop=0 speed=0.887x ... [segment @ 0x55777d98dda0] Opening 'frame-081.h264' for writingA dup=49 drop=0 speed=0.92x ... [segment @ 0x55777d98dda0] Opening 'frame-091.h264' for writingA dup=56 drop=0 speed=0.904x ... [segment @ 0x55777d98dda0] Opening 'frame-105.h264' for writingA dup=66 drop=0 speed=0.927x ... [segment @ 0x55777d98dda0] Opening 'frame-119.h264' for writingA dup=76 drop=0 speed=0.944x ... [segment @ 0x55777d98dda0] Opening 'frame-130.h264' for writingA dup=84 drop=0 speed=0.938x ... [segment @ 0x55777d98dda0] Opening 'frame-144.h264' for writingA dup=94 drop=0 speed=0.952x ... [segment @ 0x55777d983d80] Opening 'sample-154.aac' for writingA dup=103 drop=0 speed=0.958x ... [segment @ 0x55777d98dda0] Opening 'frame-168.h264' for writingA dup=111 drop=0 speed=0.952x ... [segment @ 0x55777d98dda0] Opening 'frame-182.h264' for writingA dup=121 drop=0 speed=0.962x ... [segment @ 0x55777d98dda0] Opening 'frame-193.h264' for writingA dup=129 drop=0 speed=0.956x ... [segment @ 0x55777d98dda0] Opening 'frame-207.h264' for writingA dup=139 drop=0 speed=0.965x ... [segment @ 0x55777d983d80] Opening 'sample-218.aac' for writingA dup=149 drop=0 speed=0.974x ... [segment @ 0x55777d98dda0] Opening 'frame-231.h264' for writingA dup=156 drop=0 speed=0.964x ... [segment @ 0x55777d98dda0] Opening 'frame-249.h264' for writing frame= 250 fps= 24 q=-1.0 Lsize=N/A time=00:00:10.00 bitrate=N/A dup=168 drop=0 speed=0.98x
video:2707kB audio:149kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [aac @ 0x55777d98cf00] Qavg: 260.500 [libx264 @ 0x55777d98fa20] frame I:250 Avg QP:26.77 size: 11085 [libx264 @ 0x55777d98fa20] mb I I16..4: 13.4% 72.3% 14.3% [libx264 @ 0x55777d98fa20] 8x8 transform intra:72.3% [libx264 @ 0x55777d98fa20] coded y,uvDC,uvAC intra: 54.2% 91.6% 64.5% [libx264 @ 0x55777d98fa20] i16 v,h,dc,p: 13% 18% 6% 62% [libx264 @ 0x55777d98fa20] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 18% 16% 6% 7% 6% 12% 5% 10% [libx264 @ 0x55777d98fa20] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 18% 11% 6% 8% 8% 10% 5% 6% [libx264 @ 0x55777d98fa20] i8c dc,h,v,p: 58% 20% 15% 7% [libx264 @ 0x55777d98fa20] kb/s:2216.90
ANSWER
Answered 2021-Jan-11 at 17:44Use -f stream_segment
(or the alias -f ssegment
). From the documentation:
stream_segment
is a variant of thesegment
muxer used to write to streaming output formats, i.e. which do not require global headers, and is recommended for outputting e.g. to MPEG transport stream segments.ssegment
is a shorter alias forstream_segment
.
Example command:
QUESTION
Omxplayer won't play any videos generated with FFmpeg on a Raspberry Pi
I found this thread showing that it is necessary to include '-profile baseline -level 3.0' parameters: https://github.com/popcornmix/omxplayer/issues/577
The full command is:
...ANSWER
Answered 2020-Dec-31 at 18:55Most players don't like such a low frame rate. Add -r 10
output option:
QUESTION
I would like to concatenate multiple videos with differents aspect ratio, framerates, etc. The working solution is scale2ref option with black background, no re-scale and concat.
If I use my command line with movie1.mp4 (30fps 1920x1080 2sec) and movie2.mp4 (25fps 800x600 3sec) I except a final output at 25fps 1920x1080 5sec. This part works well.
Then if I use my command line with movie1.mp4 (30fps 1920x1080 2sec) and movie2.mp4 (30fps 1920x1080 3sec) I except a final output at 30fps 1920x1080 5sec. But for an unknown reason my final output is 25fps 1920x1080 5 sec.
I tried with a copy of movie1.mp4 and rename it to movie2.mp4 to ensure they are both perfectly identical and got the same issue.
...ANSWER
Answered 2020-Dec-15 at 18:39overlay filter will use the frame rate of the first input. So set color filter frame rate (for example color=r=30
) to whatever rate you need it to be.
There is no option to automatically select the "best" frame rate. It just does what you tell it to do.
You can automate it by using ffprobe
to get the frame rate of each input and use your script to decide what to do. Note that VFR inputs may complicate this approach and the easiest method is to just force a consistent frame rate. ffmpeg
will then drop or duplicate frames to accommodate your desired frame rate.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Deblock
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page