LionEagle has quit [Remote host closed the connection]
rvalue has quit [Ping timeout: 260 seconds]
LionEagle has joined #ffmpeg
squeaktoy has quit [Quit: WeeChat 4.0.4]
squeaktoy has joined #ffmpeg
rvalue has joined #ffmpeg
kasper93_ is now known as kasper93
minimal has joined #ffmpeg
emmanuelux has joined #ffmpeg
cosimone has quit [Remote host closed the connection]
Dannn has joined #ffmpeg
iive has quit [Ping timeout: 240 seconds]
<Dannn> hey - is anyone able to help me understand why a conversion is failing?
<linext_> can ffmpeg output icecast Now Playing as the song changes?
<Dannn> we're dealing with a camera recording snapshots, trying to convert those snapshots to a video. conversion is successful with .mp4 file extensions, but we're having trouble with .mp4 on the receiving end, basically all of the stills are proper, but the video is DOA. i figured I could change it to .avi, but it seems to be throwing conversion failed. i'm not a developer by any means, i'm just trying
<Dannn> find a suitable workaround.
<Dannn> logged failure: Rendering Video failed: /usr/bin/ffmpeg -r 15 -i '/usr/data/printer_data/timelapse/frames/frame%6d.jpg' -threads 2 -g 5 -vcodec mjpeg -pix_fmt yuv420p -b:v 7M -an '/usr/data/printer_data/timelapse/frames/timelapse__05-01-2024_08h55.avi' -y : Conversion failed!
<drv> you probably need the actual ffmpeg output (that "Conversion failed!" looks like it's from some kind of wrapper)
<Dannn> could it be...
<Dannn> - duplicating last frame failed: '/usr/data/printer_data/timelapse/frames/frame000018.jpg' and '/usr/data/printer_data/timelapse/frames/frame000018.jpg' are the same file
<Dannn> otherwise idk, lol. i don't have full access to the ffmpeg output unless i can somehow force it
<Dannn> yeah, i can see the dead generated file now, so there's that, wasn't even getting that before
squeaktoy has quit [Quit: WeeChat 4.0.4]
<Dannn> i assume something is amiss in this build command. can you use mjpeg to build an avi?
<Dannn> # build shell command cmd = self.ffmpeg_binary_path \ + " -r " + str(fps) \ + " -i '" + inputfiles + "'" \ + filterParam \ + " -threads 2 -g 5" \ + " -vcodec mjpeg" \ + " -pix_fmt " + self.config['pixelformat'] \ + " -b:v 7M" \ + " -an" \
<Marth64> linext_: I've not tried it but my assumption is probably not. I don't think metadata tags like title/artist can change in-flight
squeaktoy has joined #ffmpeg
<Marth64> Dann: avi and mp4 should handle mjpeg. What would help is a full log from ffmpeg itself, looks like in your example its being wrapped around
squeaktoy has quit [Client Quit]
<Marth64> Also I noticed -y after the output filename in your command instead of the beginning. I don't think its valid, but I haven't tried it before
thilo has quit [Ping timeout: 256 seconds]
<Dannn> Marth: thanks for the feedback. I'm actually dealing with a Creality K1 3d printer. This is the default config of moonraker's "timelapse.py" function. My issue is that for some reason, the default .mp4s are failing. They seem like they get put together, but the file itself is actually un-readable.
thilo has joined #ffmpeg
<Dannn> My hack-around was to see if I could get the renderer to spitout any other file format
LionEagle has quit [Quit: Leaving]
<Dannn> so I could verify if it's something with the command or else.
<Dannn> unfortunately, I assume they have the output wrapped, and I wouldn't know where to begin to find that
<Dannn> https://i.imgur.com/e4CzJI0.png i sort of just get the start and fail with no inbetween data
<Dannn> here's the paste, i'm more than happy to take suggestions on how to rebuild the command, if you have any. it doesn't have to be .avi specifically.
<Dannn> oh actually, i see the log_complete=False in there, maybe i can re-enable and get more deets
<Marth64> yeah try that :D or run the ffmpeg command yourself in a terminal
<Dannn> well yeah, that was my workaround
<Dannn> just rip the files off and build it myself
<Dannn> msg = f"Rendering Video failed: {cmd} : {self.lastcmdreponse}" - last cmd response being "Conversion failed!"
<Marth64> conversion failed is definitely coming from ffmpeg
<Marth64> just need to narrow down why
<Marth64> if you run it in a terminal it will reveal more info about the context
<Marth64> specifically need to see what gets dumped to stderr
<Dannn> i just re-enabled 3 different logging commands
<Dannn> lets see if any of them do it
<Marth64> kk
yoO0Oo has joined #ffmpeg
<Dannn> ok your idea was way easier
<Dannn> we got some data
yo0O0o has quit [Ping timeout: 260 seconds]
<linext_> Marth64, yes the meta data does change when a new song comes on the icecast station
<linext_> ffmpeg doesn't print it it though
<Marth64> Dann: ffmpeg is trying to demux your jpeg files as image2 format. What happens if you put -f mjpeg _before_ the -i
<Dannn> can try it
squeaktoy has joined #ffmpeg
<Marth64> linext_: makes sense, I am meaning to say I don't think ffmpeg can handle that change
<Marth64> Does that metadata get loaded as a tag? What's a sample command output look like? Would be pretty easy to tell from that how ffmpeg is handling it on start time of the job. I haven't tried icecast
<Marth64> I could very well be wrong. just a guess here, but don't think it would work
<Marth64> Yeah give it a go lets see what happens
<Dannn> sec
<Marth64> ACI-XCIX_0001: haven't used zscale filter, on surface looks like it should work, but have you considered trying to use colorspace filter to set those new values?
<Dannn> had to make sure it wasnt me
<Dannn> reply: /usr/data/printer_data/timelapse/frames/frame%6d.jpg: No such file or directory
<Dannn> have 000001-000012 in there tho
<Marth64> Dannn: Can you run it without python involved? Let's rule out any funky shell escapes
<Dannn> i ran this right through the ssh@root
<Dannn> - /usr/bin/ffmpeg -r 15 -f mjpeg -i '/usr/data/printer_data/timelapse/frames/frame%6d.jpg' -threads 2 -g 5 -vcodec mjpeg -pix_fmt yuv420p - b:v 7M -an '/usr/data/printer_data/timelapse/frames/timelapse__05-01-2024_08h55 .avi' -y
<Dannn> thats the command i'm running
<Dannn> just to make sure i'm not crazy:
<Dannn> - /usr/data/printer_data/timelapse/frames/
<Dannn> thats where the frame 1-12 are
<Dannn> output can be wherever
<Marth64> Ahhhh. You can remove -f mjpeg. I just read what image2 does, it was correct.
<Marth64> So end result is that, as per https://pastebin.com/raw/tuvzNK4s, something is wrong with your source files
<Marth64> specifically it looks like it cannot parse out the size, so give this a shot
<Dannn> yeah i saw that on a github page
<Dannn> where someone said they had to update and recompile ffmpeg
<Marth64> ffmpeg -r 15 -i '/usr/data/printer_data/timelapse/frames/frame%6d.jpg' -s 640x480 -threads 2 -g 5 -vcodec mjpeg -pix_fmt yuv420p -b:v 7M -an '/usr/data/printer_data/timelapse/frames/timelapse_TEST.avi'
<Marth64> I removed the -y, as you mentioned running as root, and I do not want to give you a command that overwrites anything forcefully.
<Marth64> Also, you had a extra space by "-b:v 7M"
<Dannn> cheers
<Dannn> i copy and pasted yours
<Dannn> same error
<Marth64> kk .. then yeah it doesnt like your sourc files
<Dannn> [mjpeg @ 0xaaca20] No JPEG data found in image Error while decoding stream #0:0: Invalid data found when processing input [mjpeg @ 0xaaca20] No JPEG data found in image Error while decoding stream #0:0: Invalid data found when processing input Cannot determine format of input stream 0:0 after EOF Error marking filters as finished
<Dannn> Finally, I found that this is a ffmpeg related problem. The error message "No JPEG data found in image" can be found in the source code of ffmpeg/libavcodec/mjpegdec.c. Manually compile ffmpeg and use new version of libavcodec will do the trick. Since I successfully extracted feature without any error in ubuntu 18.04, I checked the build information of opencv and found that the version of libavcode
<Dannn> does this comment make any sense
<Dannn> from here:
squeaktoy has quit [Quit: WeeChat 4.0.4]
<Dannn> found that the version of libavcodec is different. (57.107.100 in ubuntu 18.04, 56.60.100 in ubuntu 16.04).
<Dannn> (sorry it got cut off)
<Marth64> That is always a possibility, bugs are fixed all the time, and not every build is the same. What distribution are you on? A similar type of operation works fine for me
<furq> if your version of ffmpeg is older than the one in ubuntu 18.04 then you should update it anyway
<furq> and probably update everything else
<Marth64> yea, 18.04 is old
<Dannn> i'm not sure that's what i'm on
<Marth64> lsb_release -a
<Dannn> i'm like a 2/10 with linux/unix, give me the tldr how to find out
<Marth64> or cat /etc/distribution
<Dannn> ty
<Marth64> one of them will tell you
<furq> the ubuntu version number is the year and month
<Dannn> im not sure it's on ubuntu
<Dannn> no idea what its on
<Dannn> its a 3d printer
<Dannn> lol
<Marth64> that doesnt look like ubuntu
<Dannn> klipper?
<Marth64> you are running this on the printer itself?
<furq> is the printer running ffmpeg
<Dannn> yea
<Marth64> what is the first line of ffmpeg -version
<Marth64> I imagine it's very old, but curious how old
<Marth64> also please provide output of `uname -p`
<Dannn> unknown
squeaktoy has joined #ffmpeg
<Marth64> try uname -m
<Marth64> should be one line
<Dannn> mips
<furq> that ffmpeg version is newer than the one the guy in that comment updated to
<Dannn> this is what it's running on
<Marth64> don't think anyone makes ready to go mips builds, you might have to compile from source on the printer or cross-compile to it
<Marth64> 4.2.2 isn't a bad version though i feel like i remember it being fine
<Marth64> its old yes
<furq> can you actually open these jpegs
<Marth64> ^
<Dannn> yea
<Dannn> ajnd
<Dannn> i have a h265
<Dannn> h264
<Dannn> that works
<Marth64> wdym
<Dannn> idk where the h264 came from
<Dannn> but i have a built h264
<Dannn> of the same images
<Marth64> Oh, maybe your process is compressing a h264 frame of each image too
<Marth64> So you are saying in addition to each .jpg theres a .h264
<Dannn> so here's the files
<Marth64> hmm
EmleyMoor has quit [Ping timeout: 264 seconds]
<Dannn> well wait a minute..
<Dannn> now the image is broken
<Marth64> they look awfully small
<Dannn> yeah its broken now
<Dannn> hold on
<Marth64> look at their file size
<Dannn> let me try and get more
<Marth64> kk
<Marth64> ffmpeg on a 3d printer thats a cool one but not surprising
<Dannn> ok i did change one of the snapshot links between now and then
<Dannn> just messing with stuff
<Dannn> changing it back now
<Dannn> they WERE working files
<Dannn> lol
<Dannn> ok there we go
<Dannn> 66kb
<Dannn> now i ran your command
<Dannn> no errors
<Dannn> did throw warning
<Marth64> awesome
<Dannn> WE HAVE LIFTOFF
<Dannn> you did it bro
<Dannn> haha
<Dannn> here's the warning
<Marth64> we still gotta fix the warning
<Marth64> :D
<furq> you can just use -c:v copy for jpeg to mjpeg
<Marth64> (if needed)
<Dannn> Incompatible pixel format 'yuv420p' for codec 'mjpeg', auto-selecting format 'yuvj420p' [swscaler @ 0xc5c250] deprecated pixel format used, make sure you did set range correctly [mjpeg @ 0xc47cf0] MJPEG CBR encoding works badly with frame multi-threading, consider using -threads 1, -thread_type slice or a constant quantizer.
<furq> you can ignore all of those
<Dannn> sweet
<Marth64> yea, definitely would do what furq said about the -c:v. I copied that from your original command. It's lowering the quality
<Marth64> ignore those +1
<furq> the last one is important but you have no reason to encode mjpeg when you already have jpegs
<Dannn> yea people do complain that the quality is dogshit
<Dannn> that was part of my exploring this
<Marth64> yes change to -c:v copy
<Dannn> let me pull the actual command that runs
<Dannn> maybe we can just tune that better
<Marth64> in this case you are stringing literal jpeg frames together, no reason to re-encode
<furq> probably less stressful for whatever cpu is in that printer
<Marth64> poor anemic mips cpu trying to compress video
<Dannn> yea i think thats why
<Dannn> but it runs this post-print processing
<Dannn> so idgaf if it uses 100% cpu/etc
<Dannn> as long as it won't crash the printer lol
<Marth64> heat on the cpu
<Dannn> ok so here's the command
<Marth64> -vcodec mjpeg -----> -c:v copy
<Marth64> change taht
<Marth64> remove -b:v as well
<Dannn> with the 7m yea?
<Marth64> yes together remove
<furq> and remove -f mjpeg
<Dannn> oh yeah that was our test
<Marth64> yes, i think thats old from the first run
<Marth64> agreed
<Marth64> yea fire it up
<Dannn> let me see if i can print somethin rq for ya and see
<furq> also use subprocess.run or something so you don't have to build the command string in such an awful way
<Dannn> i think it's done like that because it runs from a macro
<Dannn> happy to change anything you think to make it more eff
<Dannn> it has most of the settings editable via the gui
<Dannn> should i replace yuv420p with something better?
<Dannn> that is just defaulted
<Marth64> it doesnt matter since you are doing stream copy, at that point pix_fmt is just setting the format in the header. if it was defaulted then its accurate anyway
<furq> you can just remove the -pix_fmt line anyway
<Dannn> so we're ending up with https://i.imgur.com/Icee1xx.png
<Marth64> yea looks fine
<furq> also that command doesn't actually set the framerate
<furq> so it'll be 25fps
<Marth64> change to subprocess.run() or subprocess.check_output() someday when you are refactoring this to save yourself from shell escape hell, wouldn't say you need to do it now but if this python script is to get love and care i would do that
<Dannn> i think it fills the -r in from the gui field
EmleyMoor has joined #ffmpeg
<furq> oh it's on the input
<furq> well never mind then
<Marth64> yea it looks ok
<furq> that should be -framerate instead of -r though
<Dannn> this is where it gets it from
<Marth64> furq good pt. they diverged at some point I forgot
<Marth64> would change -r to -framerate like furq said
<Dannn> i got a 3 minute print
<Dannn> lets try it
ACI-XCIX_0001 has quit [Quit: Client closed]
<Dannn> as it's printing, i just chose avi because mp4 wasn't working
<Dannn> is there a better format you'd suggest in terms of size/quality compression, i think the internal storage on this thing is like 5gb or somethin
<Dannn> i plan to rip them off
<Marth64> its not the format that influences size as much as the codec
<Dannn> given its a printer doing the stitch together and everything, too
<Dannn> ok
<Marth64> in this case they are already small jpeg files being stuck together, it wont matter if you go mp4 or avi unless you change the codec
<Dannn> got it
<Marth64> which i would recommend but again running on a 3d printer probably too much for the cpu
navi has quit [Quit: WeeChat 4.0.4]
<Dannn> haha yeah
<Dannn> i could always rip the jpegs off
<Dannn> but i figured ease of use
<Dannn> i know of one of user with this same problem as me, so given it works (and it should), i'll suggest the same to him
lemourin7 has joined #ffmpeg
lemourin7 is now known as lemourin
lemourin has quit [Killed (mercury.libera.chat (Nickname regained by services))]
<Marth64> nice
<Marth64> I had got a printer as a gift but no chance to try it yet
<Dannn> ok so
<Dannn> looks like it worked
<Dannn> 57 frames generated
<Dannn> 4054kb .avi
<Dannn> ah
<Dannn> they have it in .mp4 because their web gui won't see the .avi
<Dannn> here's the video!
<Dannn> success!
<Marth64> woot
kurosu has quit [Quit: Connection closed for inactivity]
<Dannn> so the .mp4 is still broken
<Dannn> but .avi works
<Dannn> mp4 converts successfully
<Dannn> but the file is unreadable
<Dannn> both via the web viewer + when i download it and run it thru media player classic
<Dannn> it didnt throw any errors
<Dannn> but this is the output of the command
<Dannn> incase theres anything
<Dannn> oh wait
<Dannn> i ran ur old command
<Dannn> not the new one
<Dannn> sec
<Dannn> same issue
<Dannn> shows the preview
<Dannn> video unplayable
<Dannn> it is a 4mb video too
<Dannn> so like something is there
<Dannn> lemme try streamable see if they can read it
<Marth64> browser support is a mixed bag
<Dannn> yea
<Dannn> i think thats it
<Dannn> chrome doesn't like it
<Dannn> nor does mpc
<Marth64> you might get lucky with .mov , granted mp4 is based on mov but i have seen mjpegs work ok with mov
<aaabbb> how well supported is lossless rgb h264 in browsers?
<Dannn> i think it should be
<aaabbb> made from "-c:v libx264rgb -qp 0"
<Dannn> technically this thing would support webrtc if it was running a pi addon
<Dannn> its just not powerful enough otherwise
<Dannn> i can give the above a try
<Marth64> aaabbb: i expect it to be limited unless the browser is using libav with the right decoders built
<Marth64> but..its all mixed bag
<Marth64> check MDN for authoritative research on browser support of formats
<Dannn> yeah chrome just blank screens it
<aaabbb> Marth64: what format with lossless support, best supported by browsers, has the best compression ratio? i was able to get h264 down to a very tiny fraction of its size (half a megabyte for several minutes of 60fps 1920x1200)
<Marth64> I have not studied lossless support in browsers, I'm sorry. AFAIK AV1 does lossless but mainstream support is still a work in progress given hardware decoders are still rolling out
<Marth64> maybe try hevc if you don't have patent restrictions, but will have to test and see
<kepstin> lossless vp9 will ... probably work in several major browser vendors, depending on hardware
<aaabbb> hevc seemed to have really terrible lossless performance compared to avc, and isn't very well supported on mobile browsers
<kepstin> (i think it's specifically unlikely to work on mobile apple devices)
<aaabbb> if i have to i might go with animated webp, but that's a 40x increase in file size (20 megs instead of 0.5)
<furq> webp and apng are your choices if you want universal support
<Marth64> does it need to be lossless? I assume you chose for a reason but just checking. like, you can go visually lossless too with the right crf if using h264
<aaabbb> Marth64: visually lossless vastly increases file size
<furq> i'm guessing it also needs to be not subsampled
<Dannn> i mean its like a tiny ass timelapse so lol
<aaabbb> this is one of those niche situations where lossless is way way smaller than anything else
<Marth64> understood
<aaabbb> (frame buffer recording for documentation, in a virtual terminal, mpdecimated)
<kepstin> but yeah, the h264 lossless mode is part of the high 4:4:4 predictive profile, which has really poor support. ffmpeg can decode it, of course, but there's basically no hardware support for it outside of maybe niche pro video stuff.
<aaabbb> it's low bitrate (30kbit/s) and average fps of like 4, so no need for hardware support
<aaabbb> long as software can supports it
<Dannn> got an error with your command for 264
<Dannn> lemme see
<kepstin> if you want lossless video that plays in a web browser, lossless vp9 is pretty much the best choice atm.
<Marth64> aaabbb: did you mean .mov?
<Marth64> try .mov it might trick the browser to accepting it
<aaabbb> i did mp4, i'll try move
<Marth64> sorry, aaabbb that was for Dannn
<Marth64> my bad
<aaabbb> ffmpeg -i test.mp4 -c:v libx264rgb -preset placebo -qp 0 -x264opts 'merange=512:weightp=0:keyint=infinite:no-scenecut:no-deblock' -vf 'mpdecimate=0:1:1:1' -vsync vfr test2.mp4
<aaabbb> is what i used
<aaabbb> Marth64: oh ok lol
<Marth64> aaabbb: meant to respond to you, that I don't think your js/html/whatever can tell the browser to choose hardware vs software
<Marth64> the browser decides and its final i am pretty sure it's not possible to influence it
<aaabbb> ah
<Dannn> yea i tried his x264 and it just failed all together
<Dannn> i will try the previous one with .mov
<aaabbb> ?36
<Dannn> it didnt like -c:v libx264rgb -qp 0
<Dannn> Error splitting the argument list: Option not found
<aaabbb> Dannn: i mean that's what i was using for my own question
<Dannn> oh lol
<aaabbb> yeah haha, that was for my lossless thing for browser support
FH_thecat has quit [Quit: Leaving]
<Dannn> every time you make a change you gotta reboot the printer
<Dannn> lol
<Marth64> yea sorry i started mixing things up
<Dannn> dont worry
<Dannn> im trying the same one we had working with .avi
<Dannn> just with .mov
<Marth64> its a shot in the dark
<Dannn> mov does work for playing back in windows
<Dannn> i can't get the mov to showup in their file explorer gui
<Dannn> must have anything not mp4 restricted?
<Marth64> i'm not sure from here
<Marth64> that is user desktop issue, file should show fine
<Dannn> ye i see the file via ssh np
<Dannn> their stupid interface
<Marth64> gotta drop now. good luck
<Dannn> thanks for your help marth
<Marth64> np
<Dannn> couldnt have done it w/o you guys
Peter has joined #ffmpeg
<Peter> im trying to read an FLV-HTTP stream that's sent by a Ubiquiti camera. I've tried using socat to pipe to ffmpeg, but the stream always exits on me. Any thoughts? I can get it to read the streamName metadata, so something is happening: https://paste.pfak.org/BE9Ji6
thilo has quit [Ping timeout: 260 seconds]
<Marth64> try add ,fork to your socat
minimal has quit [Quit: Leaving]
Dannn has quit [Remote host closed the connection]
<Peter> tried that, I just get tons of copies all exiting with no stream output, I've tried using EXEC:"" for socat, Ive tried using 'pipe:' instead of '-' for ffmpeg input and PIPE instead of STDOUT on soca.t
<Peter> I redirected socat to a file, and file(8) shows it as Macromedia Flash Video
thilo has joined #ffmpeg
<Peter> and I found a piece of software that is pretending to be a Ubiquiti camera that uses ffmpeg to convert to FLV (+ seems to have a python script to set .. timestamps? https://github.com/keshavdv/unifi-cam-proxy/blob/main/unifi/clock_sync.py)
<Marth64> ffmpeg is saying there are no a/v streams in the stream; it's possible, you need to increase your analyze duration to give it some more time to assess the stream
<Marth64> well, it sees one subtitle but that's not outputting anywhere
<Peter> i tried -timeout 15000 but it didnt seem to like that? (and -stimeout 15000) but maybe im doing it wrong
<Peter> is there a probesize/analyzeduration for ffmpeg that im not aware of?
<Marth64> try this jut before your "-i", the values are exaggerated just to see if it works
<Marth64> -analyzeduration 10000000 -probesize 64M
<Marth64> they are explained well on this pg (search in browser) https://ffmpeg.org/ffmpeg-all.html
<Marth64> the 10000000 is 10 seconds analyze tim
<Marth64> also having used Ubiquiti (not cameras tho), they may be doing something slightly non-standard but I really can't say for this case
<Peter> Marth64: everything they do is non-standard (=
<Peter> only doing this because they decided to nuke RTSP support from a camera I already purchased via a non-downgradable firmware update (yay)
<Marth64> :)
<Peter> what the ..
<Peter> so it reads my output URL properly ...
<Peter> then decides at some point the output URL is .. 'g'?
<Peter> socat TCP-LISTEN:7550,reuseaddr,fork EXEC:'ffmpeg -loglevel debug g -analyzeduration 10000000 -probesize 64M -i "pipe:" -f rtsp "rtsp://localhost:8554/garage.stream"'
<psykose> well there's a stray g in the middle
<Marth64> yea, your -i needs to go exactly, only before the url
<Peter> oh i see what
<Peter> thanks
<CounterPillow> unlike me who's a straight G youknowhatimsayin
<Marth64> err, nvm
<Peter> i clearly ahve been pounding my head against a wall for far too long on this
<Marth64> this looks like a shell escaping/quote nightmare, try thi
<Marth64> socat TCP-LISTEN:7550,reuseaddr,fork EXEC:'ffmpeg -loglevel debug g -analyzeduration 10000000 -probesize 64M -i - -c copy rtsp://localhost:8554/garage.stream'
<Marth64> try this instead
<Marth64> and remove the extra g
<Marth64> whoops
<Peter> anything with a : with socat EXEC needs to be quoted
<Marth64> i see
<Marth64> good to know
<Peter> peter 93450 0.5 0.0 10292 740 pts/19 S+ 20:02 0:00 socat TCP-LISTEN:7550,reuseaddr,fork EXEC:ffmpeg -loglevel debug -analyzeduration 10000000 -probesize 64M -i "pipe:" -f rtsp "rtsp://localhost:8554/garage.stream"
<Peter> looks good now
<Peter> peter 93451 1.2 0.1 223592 46796 pts/19 SL+ 20:02 0:00 ffmpeg -loglevel debug -analyzeduration 10000000 -probesize 64M -i pipe: -f rtsp rtsp://localhost:8554/garage.stream
<Peter> hrm 4 copies of ffmpeg running
<Marth64> note that it is re-encoding the video by default
<Marth64> so it might be spinning up threads to help
<Peter> yeah i just want to see if it works at all (=
<Marth64> fingers crossed
<Peter> it does not
<Peter> Opening an output file: rtsp://localhost:8554/garage.stream.
<Peter> Output #0, rtsp, to 'rtsp://localhost:8554/garage.stream':
<Peter> Output file #0 does not contain any strema
<Marth64> what happens if you dump 5 mins of the socat capture to disk, then run 'ffprobe my__capture.flv'
<Marth64> even 30 seconds is fine
<Marth64> i bargain this is some ubiquiti funny business
<Peter> https://paste.pfak.org/v95M8Q this is interesting.
<Peter> Marth64: ill do that.
<Marth64> good luck, yeah, it looks like unifi is pumping out some non-standard stream
<Marth64> from your pastebin provided, it tells me that ffmpeg isn't seeing any video/audio streams, just some metadata and a sbutitle stream
<Marth64> and from an earlier pastebin, ffmpeg was complaining/dropping about some packets
<Peter> okay
<Peter> so there's 4 streams, apparently
<Peter> or more (?)
<Peter> socat keeps exiting
<Marth64> yea, looks like socat is closing and re-opening, so ffmpeg running 4 times
<Marth64> in sequence, not long-standing
<Marth64> Stream #0:0, 1, 1/1000: Subtitle: text <-- this is the only one getting picked up possibly because socat is closing quickly
<aaabbb> noob question: for x264/x265, does 2pass abr give the same quality as crf if they both average the same bitrate? i always thought 2pass abr acted as an "infinite lookahead" and would result in a 1000kbps video being slightly higher quality than a 1000kbps video created via crf
<Peter> the streamNames repeat, and match the videoheight and videoWidth
<Peter> for ubiquiti side its saying:
<Peter> [S>C]: b'{"from":"UniFiVideo","to":"ubnt_avclient","responseExpected":false,"functionName":"ChangeVideoSettings","messageId":171653,"inResponseTo":0,"payload":{"video":{"video2":{"avSerializer":{"type":"extendedFlv","parameters":{"streamName":"wYIJNQGfDpC9gtpw","withOpus":true,"opusSampleRate":24000},"destinations":["tcp://192.168.3.4:7550?retryInterval=1&connectTimeout=5"]}}}}}'
<Peter> [S>C]: b'{"from":"UniFiVideo","to":"ubnt_avclient","responseExpected":false,"functionName":"ChangeVideoSettings","messageId":171654,"inResponseTo":0,"payload":{"video":{"video1":{"avSerializer":{"type":"extendedFlv","parameters":{"streamName":"l8S85wEx3Qaq5r0I","withOpus":true,"opusSampleRate":24000},"destinations":["tcp://192.168.3.4:7550?retryInterval=1&connectTimeout=5"]}}}}}'
<Marth64> Peter: all that stuff indented under Metadata isn't actually taking any effect, it's just metadata. so the camera is probably reporting the streams that way, but not in the standard flv container way. if that makes sense
<Peter> it does
<Marth64> aaabbb: it depends on the src material, e.g. high vs low complexity in whatever factors the codec cares about, for example motion. so it might end up the same quality based on the source material or drastically different.
<Peter> im just scratching my head on how ffmpeg can manage to put something together that the actual ubiquiti NVR will pick up, but cant read it
<Marth64> Are you trying to stream to ubiquiti nvr or taking their stream and forwarding it?
<aaabbb> Marth64: but is the quality of 2pass at a given bitrate >= the quality of crf at the same bitrate?
<Peter> Marth64: taking their stream
<Peter> I wrote a WebSocket proxy to intercept the camera heh
<aaabbb> like if i have infinite time, doesn't 2pass act as infinite lookahead and will never result in worse quality than crf at the same bitrate? (i know you can't choose bitrate precisely with crf)
<Peter> Im trying to salvage what's left of this garbage system and use Frigate while Im still living here and then buying RTSP cameras for my next home (=
<Peter> Marth64: but that unifi-cam-proxy uses ffmpeg to pretend to be a ubiquiti camera, so ..
<Marth64> aaabbb: I understand the question better now. I'm actually not sure. thinking
<Peter> i wonder if socat is terminating the connection or if its the camera itself :)
<aaabbb> Marth64: i know that vp9 has a huge benefit from 2pass but i always thought x264/x265 gave a slight benefit because of the effectively inifnite lookahead. or is 2pass abr for x264/x265 literally just internally using crf, but choosing like crf 18.5819054 (or something equally high precision that can't otherwise be specified)
<Marth64> aaabbb: to me it makes sense what you are saying. in theory I will lean with "2pass >= crf" at same bitrate but I am not qualified to be certain. I don't have to tune a lot for the things I do with ffmpeg. I'm sorry!
<Marth64> it sounds as if it should be true
<Marth64> because the lower complexity scenes will get a higher bitrate than they would with just the crf, but also the encoder needs to meet the average so it depends on the overall composition of the source
<Marth64> i don't think there's a flat correlation
<Peter> interesting each file dumped to disk by socat starts with FLV
<Marth64> Peter: maybe camera is sending it in little chunks that repeat the header
<Marth64> and this is confusing ffmpeg
<aaabbb> Marth64: but on the other hand, with crf it really doesn't care about bitrate, so the only benefit i can think of for x264/x265 is the effectively infinite lookahead which makes decisions like bframe placement more accurate
<aaabbb> i'll do some tests with -tune ssim
<Peter> that does sound likely
<Peter> hrm VLC wont even read the distinct chunks
<aaabbb> and set the 2pass abr bitrate to whatever crf spits out
<Marth64> aaabbb: yea curious what you find, my uneducated hunch on that partiular question is inconsistent outcome but curious
<Peter> okay and just to confirm im not crazy: ffmpeg doesnt support listening for a TCP connection on input?
<Peter> i know it does for output
<Peter> tcp://localhost:3949?listen
<Marth64> Peter: it should, there is a tcp protocol handler for input
<Marth64> ffmpeg -h protocol=tcp
waleee has quit [Ping timeout: 260 seconds]
<Marth64> never used it
<aaabbb> my hunch is that the quality difference will be so mild that the slight inaccuracy of abr will dominate the tests (unless i do pass=3 so many times in a row that it's refined enough to be exactly the same file size), also idk how good ssim is as a tool for this
<aaabbb> i'll tell you the result i get
<Peter> i tried and I could not get it to listen
<Marth64> good luck
* Peter shrugs
<Marth64> what's your command @Peter?
<Peter> ffmpeg tcp://127.0.0.1:2000\?listen -i tcp://127.0.0.1:2001\?listen
* Peter laughs
<Marth64> `ffmpeg -listen -i tcp://localhost:7550 -c copy ~/Desktop/test.mkv` try this instead
<Marth64> see how it goes
<Marth64> adjust output path to wherever you don't mind storing a file for a few seconds just to test
<Peter> [NULL @ 0x558e6d69b8c0] Unable to find a suitable output format for 'tcp://localhost:7550'
<Peter> maybe my ffmpeg is too old
* Peter shrugs not a big deal
<Peter> was just curious
<Marth64> actually that might not be a bad sign
<Marth64> whats the full pastebin?
<Marth64> could be helpful to eliminate a tool in the middle
<Marth64> yea that's my bad
MisterMinister has quit [Ping timeout: 255 seconds]
<Marth64> ffmpeg -listen -i "tcp://localhost:7550?listen" -c copy ~/Desktop/test.mkv
<Marth64> need quote
<Marth64> remove ?listen
<Marth64> dont need it there when using with -i
<Peter> doesnt seem like there's an ffmpeg PPA anymore
<Marth64> https://github.com/BtbN/FFmpeg-Builds stick to these ad-free and safe
<Peter> rob savoury made his PPAs private
<Peter> i see
<Marth64> did you try without the ?listen
<Marth64> ffmpeg -listen -i "tcp://localhost:7550" -c copy ~/Desktop/test.mkv
<Peter> master ttps://paste.pfak.org/EKiV0E
<Marth64> still running old version
<Peter> second one isnt
<Marth64> got it
<Peter> ffprobe from master doesnt show me anything else with the ubiquiti flv :(
<Peter> ah well. another day
<Peter> i feel my efforts would be better to just replace these cameras lol
<Marth64> :) yeah that would be my take as well, life too short for janky cameras
<Peter> Marth64: well, we are looking at moving so I didnt want to invest too much into this place
<Peter> was gonna leave these cameras + ubiquiti NVR
<Peter> + wifi + switches
<Peter> + whatever other ubiquiti gear onto the new unsuspecting homeowners
<Marth64> sorry couldn't get it sorted out
<Peter> no worries
<Marth64> they are ok for wifi only imo
<Peter> yep.
<Peter> except they randomly start dropping mDNS traffic, on the APs
<Peter> also my ecobee's dont play nicely with them
<Marth64> ffmpeg -i 'tcp://localhost:7550?listen' -c copy ~/Desktop/test.mkv
<Marth64> by some odd chance does this work
<Marth64> i was using protocol options wrong earlier, i apologize, eyes tired
<Peter> wow that works :o
<Marth64> nice
<Marth64> enjoy and good luck on your move
<Marth64> ffmpeg -i 'tcp://localhost:7550?listen' -c copy -f rtsp 'rtsp://localhost:8554/garage.stream'
<Marth64> this should finish it off
<Marth64> haven't used the rtsp muxer so you may have to rely on `ffmpeg -h muxer=rtsp` from here
<Peter> Marth64: haha that will be so far awya. we need to find some old house to buy, then have it renoed.. then move :)
<Peter> Everything in our price range is 70 years old and hasn't had a thing done to it in 70 years.
<Peter> And is still $2 million+
* Peter cries in Canada
Muimi has joined #ffmpeg
<Marth64> but on the positive note you have Timmy's coffee up there
<Marth64> it's good on the go
<Peter> coffee subtitute~
<Marth64> lolol
FH_thecat has joined #ffmpeg
<Marth64> dropping for real now, good l uck
AbleBacon has quit [Read error: Connection reset by peer]
Vonter has quit [Ping timeout: 260 seconds]
Vonter has joined #ffmpeg
bitbinge has quit [Ping timeout: 240 seconds]
ACI-XCIX_0001 has joined #ffmpeg
MisterMinister has joined #ffmpeg
<ACI-XCIX_0001> Marth64 thank for your answer !
<ACI-XCIX_0001> yes tried the filter with colorspace but the `transfer` remains gamma remains `bt1886` instead of `smpte2084`, this for that reason that JEEB purposed to use zscale instead of filter.
<ACI-XCIX_0001> but still :
<ACI-XCIX_0001> `ffmpeg.exe -loop 1 -i 'resolveimport.exr' -c:v libx265 -x265-params lossless=1 -t 10 -pix_fmt yuv420p10 -vf zscale=rangein=full:primariesin=709:transferin=709:matrixin=709:range=full:primaries=2020:transfer=smpte2084:matrix=2020_ncl 'resolveimport.mkv'`
<ACI-XCIX_0001> does ouputs a half black image and the colorimatrix is still in bt709 and the levels is still in limited while it s specified otherwise in the command
ajshell11 has joined #ffmpeg
ajshell1 has quit [Ping timeout: 245 seconds]
ajshell11 is now known as ajshell1
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
<Marth64> ACI-XCIX_0001: got it. I would trust JEEB's method more than mine in this case. I did not get a chance to run this command myself
<Marth64> do you have a ffmpeg output log, just curious what it is thinking before it starts the encode
<Marth64> I would make these two improvements to the command 1: put the -t 10 before -i 2: move the -vf clause and filterchain before -c:v
yo0O0o has joined #ffmpeg
<Marth64> so it is more like, ffmpeg -t 10 -loop 1 - i INPUT.whatever -c:v libx265 .... -vf zscale=.... OUTPUT.mkv
<Marth64> errr
yo0O0o has quit [Read error: Connection reset by peer]
<Marth64> so it is more like, ffmpeg -t 10 -loop 1 - i INPUT.whatever -vf zscale=.... -c:v libx265 .... OUTPUT.mkv
<Marth64> no space within the -i --typo
yo0O0o has joined #ffmpeg
yoO0Oo has quit [Ping timeout: 260 seconds]
<Marth64> `ffmpeg.exe -loop 1 -t 10 -i 'resolveimport.exr' -vf zscale=rangein=full:primariesin=709:transferin=709:matrixin=709:range=full:primaries=2020:transfer=smpte2084:matrix=2020_ncl -c:v libx265 -x265-params lossless=1 -pix_fmt yuv420p10 'resolveimport.mkv'`
yo0O0o has quit [Max SendQ exceeded]
<ACI-XCIX_0001> Marth64, thank for your help !
<ACI-XCIX_0001> definitely trying !
<Marth64> good luck sorry it probably cannot fix your issue but I think wiring the pipeline that way will be less error-prone later
<Marth64> also consider if you need to apply the color primaries as stream metadata, I am not sure ffmpeg will automatically do that for you
<ACI-XCIX_0001> did not fix the issue, but still interested in the metadata path you are presenting.
<ACI-XCIX_0001> can ask you how you would apply the primaries directly to the metadata ?
<Marth64> e.g. -color_primaries:s:0 bt2020 -color_trc:s:0 smpte2084 -colorspace:s:0 bt2020nc -color_range:s:0 full
<Marth64> yes :)
<Marth64> ^
<Marth64> stuff all that after -pix_fmt
<Marth64> after -pix_fmt yuv420p10
<ACI-XCIX_0001> nice thank trying !
<ACI-XCIX_0001> (y)
<Marth64> np
<Marth64> i always explicitly set it when i can, not a big fan of ambiguity, so i am not sure if ffmpeg may have already done it for you.. but worth a shot
<ACI-XCIX_0001> sure
<ACI-XCIX_0001> does not appear to like it : same for each added metadata option :`[out#0/matroska @ 00000000006fb5c0] Codec AVOption color_range (color range) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any
<ACI-XCIX_0001> stream.`
Vonter has quit [Ping timeout: 260 seconds]
<Marth64> drop the :s, try this instead
<ACI-XCIX_0001> ok
<Marth64> -color_primaries:0 bt2020 -color_trc:0 smpte2084 -colorspace:0 bt2020nc -color_range:0 full
<Marth64> sorry, i am a braindead zombie tonight and making bunch of typos
jarthur has quit [Quit: jarthur]
<ACI-XCIX_0001> aa ! no issue you are welcome !
<ACI-XCIX_0001> already very nice to you to help !
<Marth64> in previous one i was accidentally targetting a subtitle lol
<Marth64> np
<ACI-XCIX_0001> aa !
Vonter has joined #ffmpeg
<ACI-XCIX_0001> yes the metadata appllies as intended but the half picture black and the hdr information lost with overexposed highlights and desaturated colors are still there
<Marth64> ok. maybe we start with half picture black
<Marth64> is it top half? bottom half? every other frame, etc
<ACI-XCIX_0001> here is the source image trying to remux in video
<ACI-XCIX_0001> you also have the resulting mkv with the half black picture
<ACI-XCIX_0001> https://1drv.ms/f/s!AiUmCeW6ezhq92niG1UWn2Qtvn-e
<Marth64> thx
rvalue has quit [Ping timeout: 260 seconds]
<ACI-XCIX_0001> no issue
<ACI-XCIX_0001> the source is an hdr .jxr screenshot then remuxed in an hdr .exr to then convert to and hdr .mkv video
<ACI-XCIX_0001> it s the black left half
<ACI-XCIX_0001> *right half meaning
<Marth64> ACI-XCIX_001: I was able to play it back okay with mpv
<Marth64> after running the command locally
<Marth64> ffmpeg -loop 1 -t 10 -i colors2.exr -filter:v 'zscale=rangein=full:primariesin=709:transferin=709:matrixin=709:range=full:primaries=2020:transfer=smpte2084:matrix=2020_ncl' -pix_fmt:0 yuv420p10 -colorspace:0 bt2020nc -color_primaries:0 bt2020 -color_trc:0 smpte2084 -color_range:0 pc -c:v libx265 -x265-params lossless=1 resolveimport.mkv
<Marth64> output shows full picture, no half black. as for colors, my monitor is not HDR so I can't verify, but the video plays ok in mpv
<Marth64> what player are you using?
<Marth64> and what version of ffmpeg ? I am on 6.0.1
YuGiOhJCJ has joined #ffmpeg
<ACI-XCIX_0001> mpv
<ACI-XCIX_0001> ffmpeg last version
<ACI-XCIX_0001> mpv not last version
<Marth64> strange
<ACI-XCIX_0001> trying with last and sending you a screenshot
<Marth64> sure
<Marth64> i wonder if you are having a playback issue
<ACI-XCIX_0001> no issue except with this video
<Marth64> kk
<ACI-XCIX_0001> the video you played was it the ouput from the command on your pc or the one already outputted on the onedrive ?
<Marth64> good point
<Marth64> it was my encode, now i just tried yours and it is broken
<Marth64> so it is encoding issue
<Marth64> whats exact version if you run ffmpeg -version
<ACI-XCIX_0001> a....... indeed....
<ACI-XCIX_0001> `ffmpeg version N-113193-g59686eaf33-20240103`
<Marth64> hmm yea thats literally today
<ACI-XCIX_0001> yep taken the last one on btbn
<ACI-XCIX_0001> github
<Marth64> are you able to try btbn 6.0.1 latest? to compare?
<ACI-XCIX_0001> sure
<Marth64> unlikely but would also rule out linux vs windows environment factors
<ACI-XCIX_0001> ...........could be right............
<ACI-XCIX_0001> depends wether software are more targeted toward linux
<Marth64> windows gets plenty of love too
<ACI-XCIX_0001> it should
<ACI-XCIX_0001> .
<Marth64> but some bugs could appear in one and not the other
<JEEB> you can both test a recent version with BtbN's autobuilds (extract and execute with full path, no install required), it has both win and linux
<JEEB> there should be no real difference in FFmpeg under win or linux as far as the exact same software based chain goes
<Marth64> it is a but
<Marth64> bug*
Muimi has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<Marth64> just tried in latest master, and i can reproduce the broken video
<Marth64> 6.0.1 works fine
<Marth64> it is a new bug at that, i just tried 12-27 build and no issue there
<Marth64> so within past few days
<ACI-XCIX_0001> thank for the confirmation
<JEEB> in the filter chain stuff the recent major rework was the color ranges / spaces stuff which you can seehere around 4 days ago https://git.videolan.org/?p=ffmpeg.git;a=shortlog
<JEEB> you can see it touching a bunch of filter chain stuff
Tinos has joined #ffmpeg
<ACI-XCIX_0001> now the strange thing is that `chroma loc : mpeg/4/h264` while `libx265 -x265-params` was used
<ACI-XCIX_0001> full frame this time but still the hdr metadata has been lost
<ACI-XCIX_0001> the highlights are burnt and the colors ardesaturated
<Marth64> you can set the chroma location
<Marth64> not sure what is printing that value, but i expect chroma location to show left/topleft/etc
bitbinge has joined #ffmpeg
<Marth64> JEEB: is the best way to report this in TRAC?
rv1sr has joined #ffmpeg
<ACI-XCIX_0001> > not sure what is printing that value, but i expect chroma location to show left/topleft/etc
<ACI-XCIX_0001> even then this is not the reason why hdr is lost right ?
<Marth64> you are right, i am trying to test it but its hard because i dont get the full rsnge
<ACI-XCIX_0001> thank
BetweenUs_ has joined #ffmpeg
<Marth64> i am sorry, this is where i may be stuck due to hw limits
<ACI-XCIX_0001> ok, thank for the advancement, the bug finding, the guiding and the whole help, thank for your valuable time and effort as well !
<Marth64> np, good luck!
<ACI-XCIX_0001> (y)
<ACI-XCIX_0001> thank !
<ACI-XCIX_0001> wondering if remaining on the irc or where else to go other than reddit, discord, where already posted the issue....
<aaabbb> Marth64: btw about the 2pass thing, it seems like on the first pass, lots of decisions are "locked in" already, such as bframe placement
rvalue has joined #ffmpeg
<aaabbb> is there documentation on the log file? lines are like so:
<aaabbb> in:207 out:209 type:b q:33.87 q-aq:32.68 q-noVbv:33.87 q-Rceq:1.08 tex:1451 mv:3324 misc:1398 icu:6.25 pcu:432.25 scu:3161.50 ;
<aaabbb> some of them i can just guess by the name
<Marth64> aaabbb: thx for sharing. it's possible, I haven't seen it in the docs.you might have to refer to the code itself.
<aaabbb> at first i thought 2pass would act as infinite lookahead, but it seems that the bframe placement at the least is chosen at the first pass, so the second pass (as far as i know) doesn't gain anything from more accurat eplacement
<Marth64> ACI-XCIX_0001: maybe since the issue is down to one layer now try reasking here every day or so and maybe if any HDR specialist is around?
<JEEB> Marth64: yes, trac is the bug tracker
<Marth64> thx!
<Marth64> ACI-XCIX_0001: can I keep and share your sample image to the bug tracker?
<Marth64> I can write a summary tomorrow
<Marth64> I only quickly skimmed over it. but it might be relevant to your research
<aaabbb> thanks. that's x264 but hopefully x265 is similar in its rate control
rvalue has quit [Ping timeout: 246 seconds]
<Marth64> it appears to answer a very similar question to yours, at least for 264
MisterMinister has quit [Ping timeout: 252 seconds]
<aaabbb> i'll read it!
<aaabbb> ah yes, i've seen that one before, let me check it again. i read that before i knew what i know now
<Marth64> makes sense, seems you are deep into the problem statement
<Marth64> have a good night
bitbinge has quit [Remote host closed the connection]
<ACI-XCIX_0001> Marth64 sure no issue you can !
bitbinge has joined #ffmpeg
rsx has joined #ffmpeg
BetweenUs_ has quit [Quit: Leaving]
kurosu has joined #ffmpeg
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
s7m0n has joined #ffmpeg
bitbinge has quit [Ping timeout: 240 seconds]
Tinos has quit [Quit: Client closed]
bitbinge has joined #ffmpeg
bitbinge has quit [Ping timeout: 240 seconds]
lavaball has joined #ffmpeg
s7m0n has quit [Ping timeout: 256 seconds]
bitbinge has joined #ffmpeg
LionEagle has joined #ffmpeg
epony has quit [Remote host closed the connection]
jarainf has quit [Quit: ZNC - 1.6.0 - http://znc.in]
jarainf has joined #ffmpeg
lavaball has quit [Quit: lavaball]
frojnd has quit [Remote host closed the connection]
lavaball has joined #ffmpeg
frojnd has joined #ffmpeg
lemourin7 has joined #ffmpeg
lemourin7 is now known as lemourin
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
Icedream has quit [Quit: A lol made me boom.]
lemourin has joined #ffmpeg
redeeman has quit [Ping timeout: 240 seconds]
yawkat has quit [Ping timeout: 255 seconds]
Icedream has joined #ffmpeg
ocrete has quit [Ping timeout: 268 seconds]
ocrete has joined #ffmpeg
yawkat has joined #ffmpeg
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
ivanich has joined #ffmpeg
Blacker47 has joined #ffmpeg
epony has joined #ffmpeg
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
navi has joined #ffmpeg
ZedHedTed has quit [Remote host closed the connection]
ZedHedTed has joined #ffmpeg
deus0ww has quit [Ping timeout: 264 seconds]
deus0ww has joined #ffmpeg
Kruppt has joined #ffmpeg
Kruppt has quit [Ping timeout: 240 seconds]
lavaball has quit [Remote host closed the connection]
Kruppt has joined #ffmpeg
lavaball has joined #ffmpeg
Vonter has quit [Ping timeout: 255 seconds]
Vonter has joined #ffmpeg
epony has quit [Remote host closed the connection]
epony has joined #ffmpeg
irrgit has joined #ffmpeg
ACI-XCIX_0001 has quit [Quit: Client closed]
zsoltiv has joined #ffmpeg
lucasta has joined #ffmpeg
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
bitbinge has quit [Remote host closed the connection]
bitbinge has joined #ffmpeg
minimal has joined #ffmpeg
beaver has joined #ffmpeg
bnchs has joined #ffmpeg
bnchs is now known as Cindy
LionEagle has quit [Quit: Leaving]
RetroPunk has quit [Quit: cya]
RetroPunk has joined #ffmpeg
beaver has quit [Ping timeout: 240 seconds]
mid-kid has quit [Ping timeout: 240 seconds]
<boxrick> Hello!
<boxrick> I have a few errors whilst re-encoding a video, is there any way to get ffmpeg to show these errors without a full re-encode?
<boxrick> [h264 @ 0x12ef2b260] error while decoding MB 59 10, bytestream 107414
<boxrick> [h264 @ 0x12ef2b260] concealing 6950 DC, 6950 AC, 6950 MV errors in P frame
<boxrick> I am just trying to identify my corrupt files out of the 300+ I have
<BtbN> just don't encode?
<boxrick> this video has obvious playback errors, so I would like to check all my others
<boxrick> The encoding just brought it up as an actual error
<JEEB> that's a decoding error yea
<JEEB> null output without encoding should.let you just do a decode pass
Jibwood has joined #ffmpeg
lucasta has quit [Remote host closed the connection]
LionEagle has joined #ffmpeg
realies has quit [Read error: Connection reset by peer]
realies has joined #ffmpeg
beaver has joined #ffmpeg
<boxrick> That seems to work... any ideas how to exit on error? ( Both -err_detect explode -xerror ) dont seem to work
zsoltiv has quit [Remote host closed the connection]
zsoltiv has joined #ffmpeg
irrgit has quit [Read error: Connection reset by peer]
irrgit has joined #ffmpeg
MisterMinister has joined #ffmpeg
rsx has quit [Quit: rsx]
minimal has quit [Quit: Leaving]
epony has quit [Remote host closed the connection]
vlm has joined #ffmpeg
realies has quit [Read error: Connection reset by peer]
realies has joined #ffmpeg
MisterMinister has quit [Ping timeout: 255 seconds]
AbleBacon has joined #ffmpeg
irrgit has quit [Remote host closed the connection]
irrgit has joined #ffmpeg
Starz0r has quit [Ping timeout: 245 seconds]
Starz0r has joined #ffmpeg
zsoltiv__ has joined #ffmpeg
zsoltiv_ has quit [Ping timeout: 256 seconds]
\\Mr_C\\ has joined #ffmpeg
ivanich has quit [Ping timeout: 246 seconds]
lavaball has quit [Remote host closed the connection]
minimal has joined #ffmpeg
lavaball has joined #ffmpeg
nurupo has quit [Quit: nurupo.ga]
nurupo has joined #ffmpeg
Vonter has quit [Ping timeout: 260 seconds]
Vonter has joined #ffmpeg
epony has joined #ffmpeg
Jibwood has quit [Quit: Leaving]
waleee has joined #ffmpeg
rvalue has joined #ffmpeg
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
Ogobaga has quit [Read error: Connection reset by peer]
Ogobaga has joined #ffmpeg
LionEagle has quit [Read error: Connection reset by peer]
Tano has joined #ffmpeg
Cindy has quit [Quit: ZNC 1.8.2 - https://znc.in]
hussein1 has quit [Ping timeout: 240 seconds]
ZedHedTed has quit [Quit: leaving]
Tano has quit [Quit: WeeChat 4.0.4]
hussein1 has joined #ffmpeg
Tano has joined #ffmpeg
epony has quit [Quit: QUIT]
LionEagle has joined #ffmpeg
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
billchenchina has quit [Quit: Leaving]
realies has quit [Read error: Connection reset by peer]
realies has joined #ffmpeg
realies has quit [Read error: Connection reset by peer]
<boxrick> Also perhaps someone knows... any way to pad out a video file with black screen for a few seconds?
<boxrick> Specifically I have a true-hd soundtrack from a lower resolution film, and a much higher resolution version I want to combine. The only difference is the video file is 2s shorter so I need to add that duration to the start of the higher resolution file.
<boxrick> So with that in mind can I add a very specific amount of black frames to my video at the start using FFMPEG?
realies has joined #ffmpeg
vampirefrog has joined #ffmpeg
epony has joined #ffmpeg
apteryx has joined #ffmpeg
<apteryx> should I expect breakage going from 6.0 to 6.1 in a distro (Guix) ?
<apteryx> I see it fixes 2 vulnerabilities
<psykose> no
<apteryx> great
<BtbN> vulnerability fixes are backported to all branches anyway though?
<apteryx> BtbN: not sure, was reading: https://ffmpeg.org/security.html
<BtbN> one of those does not affect 6.0, the other was fixed there too
<BtbN> as listed on that very site
epony has quit [Max SendQ exceeded]
epony has joined #ffmpeg
ajshell1 has quit [Quit: The Lounge - https://thelounge.chat]
ajshell1 has joined #ffmpeg
<apteryx> ah, I see
<apteryx> thanks
<apteryx> hm, so where did CVE-2023-47344 originate? between 6.0 and 6.1, if someone was using a snapshot?
ZedHedTed has joined #ffmpeg
vincejv has joined #ffmpeg
epony has quit [Remote host closed the connection]
epony has joined #ffmpeg
JanC_ has joined #ffmpeg
JanC is now known as Guest220
Guest220 has quit [Killed (calcium.libera.chat (Nickname regained by services))]
JanC_ is now known as JanC
elastic_dog has quit [Ping timeout: 268 seconds]
MootPoot has joined #ffmpeg
Blacker47 has quit [Quit: Life is short. Get a V.90 modem fast!]
zwayn has quit [Quit: Connection closed for inactivity]
bitbinge has quit [Ping timeout: 240 seconds]
elastic_dog has joined #ffmpeg
rvalue has quit [Quit: ZNC - https://znc.in]
rvalue has joined #ffmpeg
rvalue has quit [Client Quit]
rvalue has joined #ffmpeg
rvalue has quit [Quit: ZNC - https://znc.in]
bitbinge has joined #ffmpeg
vincejv has quit [Changing host]
vincejv has joined #ffmpeg
<Marth64> boxrick: Did you figure it out?
<Marth64> You can't add 2 seconds to the start without re-encoding the video, but you might be able to get away with the inverse operation (chopping 2 seconds from the start of audio to line up with the video)
<Marth64> You can also do it in a way where there is a timestamp delay but I was never fan of that
<apteryx> could this be caused by ffmpeg 6.0 -> 6.1 ? ../mpd-0.23.14/src/decoder/plugins/FfmpegIo.cxx:44:24: error: ‘AVERROR_EOF’ was not declared in this scope
<Marth64> ACI-XCIX_0001: I filed the bug report for you https://trac.ffmpeg.org/ticket/10780
<apteryx> fixed by updating mpd to latest version
bitbinge has quit [Ping timeout: 240 seconds]
beaver has quit [Quit: upgrade irssi vers 1.4.5]
iive has joined #ffmpeg
zsoltiv has quit [Remote host closed the connection]
<boxrick> Marth64: The Audio is TrueHD which is hard to modify without making it LPCM... I cut 2s~ from the front of the video then just added it to the front of itself... :p
<boxrick> ffmpeg -i video.mkv -ss 00:00:00 -to 00:00:01.800 -c copy video_output.mkv ... obviously it only aligns with the frames
<boxrick> But it was close enough
<boxrick> Lipsync looks perfect.
<Marth64> perfect
<Marth64> yea thd isn't fun :)
<Marth64> maybe a strange strategy and it take a lot more storage, but i like to render out thd/dts to their different 2.0/5.1/7.1 presentations in flac
rv1sr has quit []
<Marth64> at least it's liberated at that point
beaver has joined #ffmpeg
* Marth64 grew to dislike proprietary fmts
bitbinge has joined #ffmpeg
<zeratul> can ffmpeg output fragmented mp4 files ?
<Marth64> zeratul: I believe so. See `ffmpeg -h muxer=mp4` there appears to be fragmentation options there
<Marth64> at least on 6.0.1
<Marth64> also some hits on google
vincejv has quit [Quit: ZNC 1.8.2 - https://znc.in]
vincejv has joined #ffmpeg
MootPoot has quit [Quit: Connection closed for inactivity]
<zeratul> Marth64, I want ffmpeg to output mp4 files that can be played back even if they're incomplete
<Marth64> zeratul: gotcha...sorry I do not use mp4 and can't give better examples. just a starting point, possibly there are mp4 experts here that will see this and provide advice
Tano has quit [Quit: WeeChat 4.0.4]
bitbinge has quit [Ping timeout: 240 seconds]
<iive> zeratul, there was a tool that moves the index to the start of the file..
<iive> something to do with "faststart"
<iive> yep, the tool is "qt-faststart" or you could use ffmpeg -movflags +faststart
<BtbN> zeratul: that's simply not a thing. Even fragmented mp4 needs intact segments and its init segment
<BtbN> if you want to do a live recording where stuff can crash, use anything but mp4
LionEagle has quit [Quit: Leaving]
<iive> mpeg-ts is like the gold standard for streaming.
SuicideShow has quit [Ping timeout: 268 seconds]
SuicideShow has joined #ffmpeg
Fiacha has joined #ffmpeg