[Ffmpeg-devel-irc] ffmpeg.log.20180902
burek
burek021 at gmail.com
Mon Sep 3 03:05:01 EEST 2018
[00:04:26 CEST] <ahoo> hi
[00:04:37 CEST] <ahoo> how would i display the captured video in a window while capturing?
[00:13:13 CEST] <mooniac> is it possible to slide a long file into segments, with time stamps for the cuts provided in a file?
[00:17:10 CEST] <mooniac> slice
[00:29:32 CEST] <ahoo> got it.
[12:21:26 CEST] <tommy``> guys to simply re-encode a video with profile yuv4.4.4 to yuv4.2.0 what i have to do?
[12:22:06 CEST] <c_14> set -pix_fmt to yuv420p
[12:22:28 CEST] <JEEB> tommy``: the profile doesn't really matter, the actual pixel format does
[12:22:36 CEST] <kerio> which is equivalent to -vf format=yuv420p
[12:22:38 CEST] <JEEB> for example, it sounds like you have a high 4:4:4 blah blah profile thing
[12:22:45 CEST] <JEEB> which might already be 4:2:0
[12:22:47 CEST] <JEEB> just lossless
[12:23:02 CEST] <JEEB> because lossless coding in H.264/AVC is only supported in high 4:4:4 predictive profile
[12:23:18 CEST] <JEEB> (what I'm trying to say is that look at the ffprobe output of your input file)
[12:23:24 CEST] <tommy``> i need because on my retropie i cant preview video with yuv444 but works only with 420 according this issue ( (yuv444 instead of yuv420, because ES' hardware-accelerated OMX player only plays the latter).)
[12:23:45 CEST] <JEEB> ok, so the video really was 4:4:4 and not just high 4:4:4 predictive profile because it's lossless?
[12:23:55 CEST] <JEEB> (hw decoding fails with both lossless coding and non-4:2:0
[12:24:28 CEST] <tommy``> for example this video: Format : AVC
[12:24:28 CEST] <tommy``> Format/Info : Advanced Video Codec
[12:24:29 CEST] <tommy``> Format profile : High 4:4:4 Predictive at L2.1
[12:24:33 CEST] <tommy``> doens't work
[12:25:22 CEST] <tommy``> this works: Format profile : Main at L3
[12:25:43 CEST] <JEEB> that's just the profile
[12:25:48 CEST] <JEEB> run ffprobe -v verbose at the file
[12:25:56 CEST] <tommy``> ok i run at both
[12:26:38 CEST] <JEEB> basically you're correct that the high 4:4:4 predictive profile does not work with hw decoders, but by checking if your file is actually 4:2:0 or 4:4:4 you can see if you need to do any colorspace conversions :P
[12:26:41 CEST] <tommy``> ok working ones: Reinit context to 640x480, pix_fmt: yuv420p
[12:26:48 CEST] <tommy``> not working: Reinit context to 512x384, pix_fmt: yuv444p
[12:27:03 CEST] <JEEB> so it most likely is actually 4:4:4
[12:27:17 CEST] <JEEB> then what kerio or c_14 noted should convert that to 4:2:0
[12:27:22 CEST] <JEEB> also that is not ffprobe
[12:27:36 CEST] <JEEB> but anyways it shows an FFmpeg pixel format so I'm not going to dwell on it too much :P
[12:27:46 CEST] <tommy``> ok let's trying
[12:29:06 CEST] <kerio> yuv420 blaze it
[12:30:37 CEST] <tommy``> mmmh still same problem
[12:31:51 CEST] <JEEB> can you post the full command line and terminal output of whatever you did?
[12:31:55 CEST] <JEEB> and link it here
[12:32:02 CEST] <JEEB> (post it on gist/pastebin/0x0.st)
[12:32:04 CEST] <c_14> If it's for hardware decoding, specifying a profile might not be the worst thing
[12:32:24 CEST] <JEEB> it should default for main/high in most cases, so let's just figure out what he was doing :P
[12:32:29 CEST] <tommy``> ffmpeg -i centiped.mp4 -vf format=yuv420p centi2.mp4 <------ command
[12:32:42 CEST] <JEEB> actually post the terminal output on gist/pastebin/whatever
[12:32:43 CEST] <JEEB> please
[12:32:51 CEST] <JEEB> and link here
[12:32:55 CEST] <kerio> profile high, smoke weed every day
[12:33:08 CEST] <tommy``> ok
[12:33:10 CEST] <kerio> i'd be wary of not specifying -c:v and similar
[12:33:27 CEST] <JEEB> kerio: I am going to go there but let's jus twait until this guy posts his terminal output :P
[12:33:34 CEST] <kerio> hmmmmmmmmmmmmmm
[12:33:40 CEST] <JEEB> because so far this guy has been really bad at following instructions
[12:33:41 CEST] <kerio> is there a way to only reencode the chroma components?
[12:33:48 CEST] <JEEB> no
[12:33:54 CEST] <kerio> or does h264 not work like that
[12:34:05 CEST] <JEEB> at least none of the existing encoders enable you to do partial re-encodes :P
[12:34:22 CEST] <tommy``> https://paste.ofcode.org/88ySmVu9FdFZhtTiMN99XR
[12:34:41 CEST] <JEEB> thank you
[12:35:41 CEST] <JEEB> tommy``: and if you ffprobe -v verbose centi2.mp4 that should no longer be 4:4:4 nor high 4:4:4 predictive profile
[12:35:53 CEST] <tommy``> yes infact centiped working now!
[12:35:58 CEST] <tommy``> not working the previous one
[12:36:09 CEST] <tommy``> i retry
[12:38:30 CEST] <tommy``> https://paste.ofcode.org/icsSBKZ6HVG4uvXVHetArp
[12:38:38 CEST] <tommy``> this is a damned video that still not workling
[12:39:07 CEST] <JEEB> well it is 4:2:0 and it's just high profile
[12:39:20 CEST] <JEEB> no idea :P
[12:39:22 CEST] <tommy``> i really dunno why
[12:39:25 CEST] <JEEB> have fun with plastic toys
[12:39:30 CEST] <tommy``> ahaha thanks
[12:42:13 CEST] <tommy``> anyway you solved my situation, love you people <3
[13:03:01 CEST] <lord_> hi
[13:03:43 CEST] <lord_> I have a "corrupted" video file, it's a mov file from an action cam at 1080p 60fps
[13:05:18 CEST] <lord_> now, ffprobe says that its duration is 00:25:42.75, but I can reproduce only a few seconds from the beginning with mplayer
[13:05:51 CEST] <lord_> ffplay too gives a lot of errors, such "h264 @ 0x7f02dc0e0380] co located POCs unavailableq= 0B f=0/0"
[13:08:16 CEST] <lord_> but, if I jump forward at about 190 seconds, the video stabilizes itself
[13:08:52 CEST] <lord_> how can I recover that file? I can't extract the audio track neither...
[13:41:30 CEST] <tommy``> how can i change this parameter: | Overall bit rate mode : Variable | to fixe
[13:41:37 CEST] <tommy``> fixed bitrate
[13:43:23 CEST] <ariyasu> why would you want a fixed bitrate
[13:44:09 CEST] <JEEB> he's trying to hit at all the random things to make something work on his rpi's hw decoder
[13:44:13 CEST] <JEEB> even though it's not relevant
[13:44:34 CEST] <ariyasu> https://trac.ffmpeg.org/wiki/Encode/H.264
[13:44:48 CEST] <ariyasu> do ctrl + f and look for cbr
[13:46:34 CEST] <mooniac> is it possible to slice a long file into segments, with time stamps for the cuts provided in a file?
[13:48:11 CEST] <c_14> -f segment -segment_times $(cat file)
[14:24:04 CEST] <jaggz> how would I go about setting video vbr with it attempting extra hard to do low bitrate "when it can"?
[14:24:28 CEST] <jaggz> but not sacrificing quality (bitrate) when it "can't". I think I want to set that "can/can't" value.
[14:25:18 CEST] <JEEB> with libx264 you can use the CRF rate control (closest thing to "constant quality"), and set the highest value there that still looks good. combine that with first setting the slowest preset that is "fast enough" for you first.
[14:25:18 CEST] <jaggz> I'm watching a broadcast which shows slides as well. There's some amount of noise during the slides, so I'd want ffmpeg to say, "close enough; frames aren't really changing."
[14:25:43 CEST] <jaggz> but when there's a person speaking it should be high bitrate
[14:25:44 CEST] <JEEB> and of course GOP length (-g) is something you should adjust according to your needs
[14:29:46 CEST] <jaggz> jeeb, reading about it. so crf sets the lowest tolerable quality, then the preset is sort of setting the high?
[14:30:00 CEST] <jaggz> hrm.. how do I see where the presets folder is looked for
[14:30:15 CEST] <JEEB> for libx264 it's the internal presets
[14:30:32 CEST] <JEEB> presets control how much CPU time the encoder uses to try and compress stuff
[14:30:49 CEST] <JEEB> CRF then just controls the quantization, as in how much the encoder will be ready to throw away
[14:31:07 CEST] <JEEB> it has some adaptive stuff there which is why currently it's the closest we have to "constant quality"
[14:31:20 CEST] <JEEB> (it isn't, but it's the closest thing like that)
[14:31:41 CEST] <JEEB> it's used when you care about the quality of the output rather than "hit a specific file size / bit rate over the whole clip"
[14:31:59 CEST] <JEEB> but yea, use a 2500-3000 frame clip
[14:32:12 CEST] <JEEB> (you can use -ss and -t to cut a clip out of some source that you have)
[14:32:23 CEST] <JEEB> and first check how slow you are willing to go with the presets
[14:32:31 CEST] <JEEB> and then start tweaking the CRF value
[14:32:33 CEST] <jaggz> my script uses a preset of "slower" and I can't find that thing anywhere, but it's not erroring. I see 5 libvpx*,ffpreset files in /usr/share/ffmpeg/ .. came with package
[14:32:50 CEST] <JEEB> it's libx264 internal
[14:33:02 CEST] <jaggz> (catching up on your explanations)
[14:33:06 CEST] <furq> does the old ffpreset stuff even still work
[14:33:10 CEST] <JEEB> I think it does
[14:33:11 CEST] <furq> i've not seen that for years
[14:33:17 CEST] <JEEB> but yea, you generally don't utilize that
[14:34:05 CEST] <lord_> can anyone help me extracting the audio track of a corrupted mov file?
[14:37:21 CEST] <furq> lord_: if it's corrupted near the start then you can try -err_detect ignore_err
[14:37:25 CEST] <furq> as an input option
[14:38:07 CEST] <lord_> furq, I already tried it, it didn't change!
[14:39:17 CEST] <furq> if you're just getting h264 decoder errors you can try -vn
[14:39:21 CEST] <jaggz> JEEB, thanks a buncha :)
[14:39:36 CEST] <furq> otherwise you'll have to skip past that part (-ss before -i)
[14:39:56 CEST] <lord_> just tried "$ ffmpeg -err_detect ignore_err -i 20180901_183841.MOV -vn -acodec copy 20180901_183841.aac"
[14:40:03 CEST] <tommy``> 166/168 video now works è_é
[14:41:00 CEST] <lord_> furq, I put -ss AFTER -i and got a 0 size file
[14:41:14 CEST] <lord_> putting it before did the trick
[14:41:16 CEST] <furq> yeah that won't work because it'll still decode the corrupted part
[14:41:24 CEST] <lord_> great
[15:50:36 CEST] <fling> Is there anything new about capturing multiple live sources?
[17:23:53 CEST] <garyserj> I am trying to rotate a video 180 degrees, but I can't even rotate it 90 degrees. I tried ffmpeg -i aa.3gp -vf "transpose=1" output.3gp and I get the error "Error initializing output stream 0:1 -- Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height"
[17:25:19 CEST] <DHE> you didn't specify codec options so defaults were assumed. and they may not be compatible with the video
[17:27:44 CEST] <garyserj> okay, I just tried -acodec copy and -vcodec copy, and it said "Filtergraph 'transpose=1' was defined for video output stream 0:0 but codec copy was selected. Filtering and streamcopy cannot be used together." So what am I supposed to do?
[17:28:28 CEST] <DHE> you can't copy the video un-encoded and also filter it
[17:35:53 CEST] <garyserj> alright so what can I do?
[18:53:52 CEST] <GyrosGeier> hu
[18:53:55 CEST] <GyrosGeier> *hi
[18:54:21 CEST] <GyrosGeier> I'd like to set up a simple forwarding from an RTMP listener to five-ish RTMP servers
[18:55:31 CEST] <GyrosGeier> presumably I can use rtmp both for input and output, but how do I specify which of these should be listeners?
[21:07:41 CEST] <c_14> -listen 1 before the one you want to be the server/listener
[23:02:02 CEST] <ahoo> https://pastebin.com/01sLAeUM
[23:02:36 CEST] <ahoo> generally, works fine. however, when msec is below 2 digits, the box width adjusts accordingly
[23:02:59 CEST] <ahoo> resulting in unbeautiness
[23:03:04 CEST] <ahoo> how would i pad that msec?
[23:10:42 CEST] <ahoo> (already fixed the uglyness with the timestamp)
[23:26:11 CEST] <ahoo> also, does ffmpeg use any video encoding functionality of the GPU/CPU in windows?
[23:26:21 CEST] <ahoo> err
[23:26:23 CEST] <ahoo> i mean
[23:26:33 CEST] <ahoo> also, does ffmpeg use any *hardware* video encoding functionality of the GPU/CPU in windows?
[23:27:44 CEST] <BtbN> If you tell it to
[23:27:56 CEST] <ahoo> i mean
[23:27:57 CEST] <BtbN> But hwencoders are bad
[23:28:09 CEST] <ahoo> also, does ffmpeg use any *hardware* video encoding functionality of the GPU/CPU in windows automatically?
[23:28:15 CEST] <ahoo> oh?
[23:28:30 CEST] <BtbN> x264, or any proper CPU encoder, will always beat it in terms of quality
[23:28:35 CEST] <JEEB> hardware encoders are meant for specific use cases
[23:28:47 CEST] <ahoo> oh i see okay.
[23:28:59 CEST] <BtbN> You use them if you want speed, and are ok with bigger files/worse quality
[23:34:11 CEST] <furq> x264 can optionally use opencl for lookahead but it's not reliably faster or higher quality
[23:34:19 CEST] <furq> but yeah normally you just want to use that sort of thing for filtering
[00:00:00 CEST] --- Mon Sep 3 2018
More information about the Ffmpeg-devel-irc
mailing list