<tm512>
if you want faster you should utilize a hardware encoder though you'll be able to get better quality with x264, so it's a tradeoff
thilo has quit [Ping timeout: 260 seconds]
thilo has joined #ffmpeg
catsoften has joined #ffmpeg
wyatt8740 has quit [Quit: ZNC got killed or something else has gone wrong, probably.]
wyatt8740 has joined #ffmpeg
Muimi has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<tm512>
so it's seeming more and more like these RTMP disconnection issues are a twitch thing specifically, basically narrowed it down between that or some issue with x11grab (since for these tests I'm just reencoding a video instead of doing a screen capture)
<tm512>
can't seem to reproduce the disconnects locally or streaming to youtube, though it's certainly possible that I'm hitting false negatives
<tm512>
not exactly the result I wanted, since the one thing on the issue tracker I'm seeing about this issue seemed to be reproducing it regardless of where RTMP was streamed and they managed to work around it by not using librtmp
<tm512>
still gonna try disabling librtmp support as a shot in the dark
catsoften has quit [Ping timeout: 260 seconds]
catsoften has joined #ffmpeg
Vonter has quit [Ping timeout: 260 seconds]
Vonter has joined #ffmpeg
catsoften has quit [Ping timeout: 240 seconds]
Muimi has joined #ffmpeg
paulk-bis has joined #ffmpeg
paulk has quit [Read error: Connection reset by peer]
catsoften has joined #ffmpeg
Estrella_ has joined #ffmpeg
catsoften has quit [Read error: Connection reset by peer]
catsoften has joined #ffmpeg
whupdup has joined #ffmpeg
catsoften has quit [Ping timeout: 255 seconds]
waleee has quit [Ping timeout: 264 seconds]
bitbinge has quit [Ping timeout: 256 seconds]
catsoften has joined #ffmpeg
thilo has quit [Ping timeout: 240 seconds]
catsoften has quit [Read error: Connection reset by peer]
thilo has joined #ffmpeg
catsoften has joined #ffmpeg
whupdup has quit [Quit: Going offline, see ya! (www.adiirc.com)]
hrberg has quit [Remote host closed the connection]
hrberg has joined #ffmpeg
<tm512>
is there any possibility that thread_queue_size being low enough to give the "thread message queue blocking" warning could be responsible for an input being cut off (leading to "av_interleaved_write_frame(): End of file")?
<furq>
it shouldn't but i wouldn't say it's impossible
<tm512>
this is a frustrating issue to troubleshoot because even though the issue seems to happen reliably on twitch, it can take upwards of 40min before I get this error that drops the stream
<tm512>
so each test I'm basically letting it stream to a local rtmp server for like an hour before moving on to something else, even after that I can't be confident that the error wouldn't happen 2 hours into the stream or 3 hours, etc
<tm512>
well, huh, it *did* just happen even with a local stream, full-screen x11grab -> nvenc -> nginx-rtmp on LAN
<tm512>
just "av_interleaved_write_frame(): End of file" without any preceding error that would've caused that to happen
therobin_ has joined #ffmpeg
maxim_d33 has joined #ffmpeg
therobin has quit [Ping timeout: 248 seconds]
therobin_ is now known as therobin
<tm512>
instead of on LAN I probably should've set up nginx-rtmp on localhost, considering I am connected to the rest of the LAN over powerline ethernet, but with RTMP being transported over TCP, and no signs of an iffy network connection when the stream went down, I doubt powerline is to blame
<furq>
well you'd probably want to run it over an actual network at least once
<tm512>
I have been. by getting nginx-rtmp set up on LAN I'm trying to cut out network conditions as a factor, to make sure it's not getting dropped due to a poor connection to twitch, and is instead some kind of issue with ffmpeg
dza has quit [Remote host closed the connection]
<furq>
right
dza has joined #ffmpeg
<tm512>
now that I have managed to reproduce the issue on LAN I'm going to try the possible solution from https://trac.ffmpeg.org/ticket/7547 and compile without librtmp support
<furq>
that's a good idea in general i think
<tm512>
does librtmp actually provide any benefit? if not or if it's just obscure stuff not relevant to general-use I might send a patch to the Void Linux repo to have ffmpeg compile without librtmp by default
<furq>
not any more
<furq>
i was going to say you should let the maintainers know to get rid of it
<furq>
there were some rarely used extensions like rtmpts or whatever that required librtmp for a while
<furq>
but i think lavf rtmp supports everything that librtmp does now
<furq>
and it's actually maintained
<tm512>
I'm not using their packaged version of ffmpeg anymore because they're still on 4.4 which at least about a year ago was using 2 second buffers for pulseaudio causing video/audio capture to be severely desynced, but it'd be nice to potentially spare others from having the same issue
<furq>
damn
<furq>
that's pretty old
Friendship has joined #ffmpeg
<tm512>
yeah it's seemingly due to breaking API changes from 4.4 to 5.0 and later releases
<furq>
i thought void was big enough to have handled that by now
<tm512>
someone is working on a pull request that updates the base package to 6.0 and creates an ffmpeg4.4 legacy package though I'm not sure how much progress is left to be done
<tm512>
here on Void we're also still on GCC 12.2
<tm512>
some things just take inexplicably longer especially when it's software that other software depends upon. doesn't seem like they take the approach of just updating and sorting things out afterwards, so depending on how many people actually test out a PR I think that can delay things
ecapi has quit [Remote host closed the connection]
ecapi has joined #ffmpeg
ecapi has quit [Ping timeout: 255 seconds]
ecapi has joined #ffmpeg
<tm512>
hmm, with this builtin RTMP test, I'm also noticing less dropped frames accumulating though maybe something else was going on with the librtmp test
Sketch has quit [Ping timeout: 264 seconds]
durandal_1707 has quit [Ping timeout: 252 seconds]
durandal_1707 has joined #ffmpeg
Sketch has joined #ffmpeg
darkapex has quit [Remote host closed the connection]
darkapex has joined #ffmpeg
Fischmiep has quit [Ping timeout: 240 seconds]
Fischmiep has joined #ffmpeg
Fischmiep has quit [Ping timeout: 252 seconds]
Muimi has quit [Quit: Going offline, see ya! (www.adiirc.com)]
jagannatharjun has joined #ffmpeg
flotwig has quit [Ping timeout: 255 seconds]
<tm512>
well, some dropped frames, but this local stream has been going for an hour and 20min with no dropped connection
<Osmancoep>
FFMPEG can run 6-7 hours without having such issues and then suddenly I got the same msg for 20 times
<Osmancoep>
I am suspecting the IRD to send wrong packets but I am not really sure of what's going on
<Osmancoep>
The input is UDP -> TS -> H264 Decoder
<Osmancoep>
The error comes from the MPEGTS demuxer
<JEEB>
I recommend capturing the UDP stream with multicat or so
<JEEB>
that lets you also replay the received stream since it also saves the timings
<Osmancoep>
from here exactly : PES packet size mismatch
<JEEB>
`-fflags +discardcorrupt` on the input side if you don't want such packets to end up further from demux into decoding etc. but to analyze the input you just capture it with multicat or so.
<JEEB>
but PES packet mismatch means that the data stream was indeed broken :P
<Osmancoep>
Hi JEEB
<Osmancoep>
I tried already the flag -fflags +discardcorrupt but my main concern is more about the output UDP. I guess it will be degraded
<Osmancoep>
Appreciate your help on my issue JEEB
<JEEB>
well if your input is bork then output will not be perfect. but generally I consider not trying to decode known-broken data
khorse has joined #ffmpeg
<Osmancoep>
I wonder if there is something I can do on the IRD side in order to not have such broken packets
<khorse>
hi
<khorse>
has anyone successfully used force_style option while burning in subtitles with hardware encoding?
junaid__ has quit [Quit: leaving]
<JEEB>
anyways, check with an ongoing capture with multicat (you can set it to split the saved data with each minute or whatever - and then you can have a separate cron script that cleans up older-than-X-minutes content so it won't fill up your disk)
<JEEB>
that should let you figure out whether you see the same kind of breakage there, and then also possibly do further analysis
<Osmancoep>
Got it JEEB. I will run FFMPEG and also multicat in parallel and see what's going on.
ivanich has quit [Read error: Connection reset by peer]
ivanich has joined #ffmpeg
realies has quit [Quit: ~]
<Osmancoep>
JEEB is there a way to avoid -xerror to stop the process at the beginning of FFMPEG in case of UDP ? What's happening is that the 264 decoder is trying to find to find the keyframe and beofre it find it, it is throwing few errors ?
<Osmancoep>
[h264 @ 0x561724930840] [error] non-existing SPS 0 referenced in buffering period
<Osmancoep>
I could not see anything in the code that can bypass that actually
Osmancoep has quit [Remote host closed the connection]
artix_live_1 has joined #ffmpeg
Tano has joined #ffmpeg
artix_live_1 has quit [Client Quit]
nick24 has joined #ffmpeg
Kvltist has joined #ffmpeg
Shine_ has joined #ffmpeg
Osmancoep has joined #ffmpeg
Volgaar has joined #ffmpeg
nick24 has quit [Quit: Connection closed]
nick78 has joined #ffmpeg
<nick78>
Hi everyone,
<nick78>
I am trying to to remove a segment from an audio file, or replace it with silence, without reencoding using the C libs.
<nick78>
I've found tutorials using the cli tools, and I have found the doxygen documentation, but I am having trouble piecing it all together.
<nick78>
Can someone give me the general process and/or the main functions useful here?
<nick78>
PS. Artix linux, ffmpeg 6.0
<durandal_1707>
without reencoding? not possible with lossy codecs.
fossdd has quit [Read error: Connection reset by peer]
<nick78>
Hmm. In the cli tools, I split and merged audio files using -c. I assumed it wasn't reencoding anything.
<durandal_1707>
yes, with -c copy you can not use filters
<ManDay>
Hi, could you give me an advice how to turn a stream of still images (JPEGs) into a stream which is playable by mpv/ffmpeg - is there an simple video format which I can build by just chaining the JPEGs together in a single stream?
<ManDay>
In the end, timing would only have to be so that mpv plays things as they come, no timestamps are needed.
<durandal_1707>
you can just cat all jpegs
<nick78>
durandal_1707 I see. Do I need to use filters to replace an audio segment with silence?
<durandal_1707>
nick78: please define segment
<ManDay>
durandal_1707: what's the resulting video format called?
<durandal_1707>
for lossy codecs segments are predefined
<durandal_1707>
ManDay: there is no video format of sequence of jpegs, its just concatenated single files into one bigger file
<ManDay>
durandal_1707: and ffmpeg somehow magically deals fine with that?
<durandal_1707>
it have same extension as .jpeg/.jpg/.mjpg or what not
<durandal_1707>
ManDay: yes, there is jpeg parser that splits jpegs into frames/packets
<ManDay>
ok, great. thanks!
<durandal_1707>
its playable by ffplay
<durandal_1707>
but for mpv, its very picky and does not like by default img2 demuxer
<durandal_1707>
that was done by some "smart" mpv dev, no longer active
<durandal_1707>
in mpv projecct
<nick78>
durandal_1707 Whoops. By segments I meant an arbitrary length of and audio file, between two user-specified times.
<ManDay>
i only have ffprobe, but that's okay. it works, i'll just send the result straight into mpv
<nick78>
If silencing an arbitrarily sized piece uses filters (and therefore must be reencoded), could I split the audio at the first and last user-specified times, encode a silence of the appropriate length, and concatenate the silence in its place?
<nick78>
durandal_1707 I just want minimal reencoding, (and therefore quality loss) on the unmodified parts.
<ManDay>
Hm, I get a "broken pipe" error though when I try: ffmpeg -framerate 24 -i /tmp/text -vcodec mpeg4 -f mpegts - | mpv
<nick78>
durandal_1707 I will be cutting multiple small segments (less than 5s each) out of hour-long audio files.
<nick78>
Ah! I said segments again! D:
<ManDay>
ah nvm that, my bad
fossdd has joined #ffmpeg
Shine_ has quit [Ping timeout: 240 seconds]
Shine_ has joined #ffmpeg
ttys000 has joined #ffmpeg
<durandal_1707>
nick78: for already encoded files, encoded files are encoded in already set segments, so your only way is to replace all segments in audio that are touching your wanted segment, and reencode that specific part, this is very codec and container specific problem to solve
vtorri66 has joined #ffmpeg
<nick78>
I see. I didn't do anything codec/container specific in the cli tools, so I assume they automatically manage the various codecs/containers? Short of reading through the doxygen docs, is there any way to get a quick summary of the main functions I would be dealing with?
billchenchina has joined #ffmpeg
<durandal_1707>
there is no tool to do this, unless you code one from 0. generally ffmpeg only reencode whole files - no way to reencode only some specific part,
<durandal_1707>
and solution for problem would be very different for each specific codec and container
<durandal_1707>
the closes thing to this are bitstream filters in ffmpeg
<durandal_1707>
but that is just possible template for solution in ffmpeg
<nick78>
ok
<nick78>
Can the libraries split and merge, eg mp3, without reencoding?
<durandal_1707>
split and merge are trivial and are depending on condecs, possible
<durandal_1707>
mp3 can be split only on already existing packet boundaries
khorse has quit [Ping timeout: 258 seconds]
<durandal_1707>
and merge with other only if its using same encoding parameters are segments before
<durandal_1707>
s/are/as
<durandal_1707>
to reencode 100% with inserted silence and any point you wish use filters
<nick78>
How trivial is it to encode some silence separately, with arbitrary parameters? (In order to match the audio file I want to edit)
function1 has quit [Ping timeout: 255 seconds]
function1 has joined #ffmpeg
friso has joined #ffmpeg
Osmancoep has quit [Remote host closed the connection]
friso has quit [Client Quit]
<durandal_1707>
nick78: not easy
<durandal_1707>
moderate task, for someone who knows whats doing
<nick78>
Ok. Thanks for the help! I'll tinker about and see what happens.
<durandal_1707>
if you only doing mp3s it drastically reduce work amount
<nick78>
Thanks. I'll keep that in mind.
Osmancoep has joined #ffmpeg
Osmancoep has quit [Remote host closed the connection]
<ManDay>
durandal_1707: Any idea how to *do* add timestamps to a sequence of jpeg images?
Osmancoep has quit [Ping timeout: 248 seconds]
<ManDay>
Mpv does buffering and refuses to play the images as they come, such that it ends up playing them in chunks. If I had timestamps I could at least get it to play at a constant speed
Hackerpcs has quit [Quit: Hackerpcs]
<durandal_1707>
ManDay: so you after all need timestamps, than use avi or whatever container you prefer
<ManDay>
durandal_1707: but how do I add the timestamps to the images?
Hackerpcs has joined #ffmpeg
Hackerpcs has quit [Max SendQ exceeded]
<durandal_1707>
ManDay: you mean hardcode visual into pixels or?
<ManDay>
durandal_1707: i don't understand. I have a stream of jpeg images, I *know* their timestamps. I want to turn them into a video with the correct timing
<ManDay>
(not a fixed FPS)
<durandal_1707>
where are timestamps stored?
<durandal_1707>
it is variable frame rate?
<ManDay>
I receive the JPEGs at the time at which they are recorded.
<ManDay>
Yes, variable.
<ManDay>
They come at non-predictable times
<ManDay>
(approximately 1 seconds, but could be anything between 1 and 2)
<durandal_1707>
that is very unusual, looks like not currently possible at all.
<durandal_1707>
need to code own thing
<ManDay>
ok thank you!
<durandal_1707>
because nothing takes file creation time as timestamp
Osmancoep has joined #ffmpeg
Shine_ has quit [Ping timeout: 258 seconds]
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
<ManDay>
I thought I could manually create a stream where I write the timestamp... like time1\nFILE1\ntime2\nFILE2 ... etc
rsx has quit [Quit: rsx]
Osmancoep has quit [Ping timeout: 248 seconds]
ZedHedTed has quit [Ping timeout: 240 seconds]
ZedHedTed has joined #ffmpeg
vlm has joined #ffmpeg
minimal has joined #ffmpeg
Muimi has joined #ffmpeg
Osmancoep has joined #ffmpeg
whupdup has joined #ffmpeg
Osmancoep has quit [Ping timeout: 248 seconds]
billchenchina has quit [Ping timeout: 272 seconds]
Osmancoep has joined #ffmpeg
b50d has joined #ffmpeg
Razor has joined #ffmpeg
Osmancoep has quit [Ping timeout: 248 seconds]
Kvltist has quit [Ping timeout: 272 seconds]
Reiko has joined #ffmpeg
markizano has joined #ffmpeg
Razor has quit [Ping timeout: 255 seconds]
textmode has joined #ffmpeg
Osmancoep has joined #ffmpeg
Razor has joined #ffmpeg
markizano has quit [Remote host closed the connection]
Reiko has quit [Ping timeout: 255 seconds]
lusciouslover has joined #ffmpeg
textmode has left #ffmpeg [#ffmpeg]
bitbinge has joined #ffmpeg
Kruppt has joined #ffmpeg
function1 has quit [Ping timeout: 245 seconds]
b50d has quit [Remote host closed the connection]
waleee has joined #ffmpeg
nina_ has quit [Quit: Leaving]
function1 has joined #ffmpeg
lexano has quit [Remote host closed the connection]
vlm has quit [Ping timeout: 255 seconds]
vlm has joined #ffmpeg
Sakura`Kinomoto has quit [Ping timeout: 245 seconds]
emmanuelux has quit [Read error: Connection reset by peer]
vlm has quit [Remote host closed the connection]
emmanuelux has joined #ffmpeg
Sakura`Kinomoto has joined #ffmpeg
Osmancoep has quit [Remote host closed the connection]
Narrat has joined #ffmpeg
function1 has quit [Ping timeout: 240 seconds]
Capstan has quit [Quit: Client closed]
function1 has joined #ffmpeg
lexano has joined #ffmpeg
function1 has quit [Client Quit]
function1 has joined #ffmpeg
a0z has joined #ffmpeg
Capstan has joined #ffmpeg
Osmancoep has joined #ffmpeg
ossifrage has quit [Quit: Leaving]
mven has quit [Quit: Goodbye.]
mven has joined #ffmpeg
Muimi has quit [Quit: Going offline, see ya! (www.adiirc.com)]
jess-o-lantern has quit []
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
lavaball has quit [Remote host closed the connection]
ivanich has quit [Ping timeout: 260 seconds]
ManDay has quit [Quit: WeeChat 4.0.4]
ossifrage has joined #ffmpeg
Dotz0cat has quit [Read error: Connection reset by peer]
Osmancoep has quit [Remote host closed the connection]
Muimi has joined #ffmpeg
Dotz0cat has joined #ffmpeg
randomguy656 has joined #ffmpeg
Hoess has joined #ffmpeg
dgcampea has joined #ffmpeg
Volgaar has quit [Ping timeout: 256 seconds]
lucasta has joined #ffmpeg
Haxxa has quit [Quit: Haxxa flies away.]
vtorri86 has joined #ffmpeg
Haxxa has joined #ffmpeg
jemius has joined #ffmpeg
Hoess has quit [Quit: Hoess]
<randomguy656>
I'm trying to concat 1 or more videos together with a trim on each using the ffmpeg C api. I just get EAGAIN when I started feeding it frames from the second file. It seems I need some way to tell the buffersrc that I'm done with file a. or perhaps I need to keep feeding it frames until I get to the next I frame. I've only been able to successfully concat when I don't trim each file. So decode the whole thing till the end.
Macer has joined #ffmpeg
whupdup has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Volgaar has joined #ffmpeg
nick78 has joined #ffmpeg
markizano has joined #ffmpeg
<nick78>
In libav, is there a way to encode one silent audio frame for different codecs based on codec_id?
whupdup has joined #ffmpeg
Buster__ has joined #ffmpeg
Hoess has joined #ffmpeg
___nick___ has quit [Ping timeout: 240 seconds]
AbleBacon has joined #ffmpeg
nick78 has quit [Quit: Connection closed]
Shine_ has joined #ffmpeg
markizano has quit [Remote host closed the connection]
ecapi has quit [Remote host closed the connection]
ecapi has joined #ffmpeg
elastic_dog has quit [Ping timeout: 248 seconds]
ecapi has quit [Remote host closed the connection]
Hoess has quit [Quit: Hoess]
Shine_ has quit [Read error: Connection reset by peer]
lavaball has joined #ffmpeg
elastic_dog has joined #ffmpeg
Ogobaga has quit [Ping timeout: 248 seconds]
Ogobaga has joined #ffmpeg
ecapi has joined #ffmpeg
nina has joined #ffmpeg
Ogobaga has quit [Read error: Connection reset by peer]
Ogobaga has joined #ffmpeg
odrling has quit [Remote host closed the connection]
nina has quit [Remote host closed the connection]
nina has joined #ffmpeg
jagannatharjun has quit [Quit: Connection closed for inactivity]
Narrat has quit [Quit: They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.]
nina has quit [Remote host closed the connection]
jemius has quit [Quit: Leaving]
deus0ww_ has joined #ffmpeg
deus0ww has quit [Ping timeout: 264 seconds]
dreamon has quit [Remote host closed the connection]
emmanuelux has quit [Read error: Connection reset by peer]
emmanuelux has joined #ffmpeg
junaid_ has joined #ffmpeg
ivanich has joined #ffmpeg
Hoess has joined #ffmpeg
Muimi has quit [Quit: Going offline, see ya! (www.adiirc.com)]
noonien9 has joined #ffmpeg
noonien has quit [Ping timeout: 260 seconds]
noonien9 is now known as noonien
lucasta has quit [Quit: Leaving]
ivanich has quit [Remote host closed the connection]
ivanich has joined #ffmpeg
Trel has quit [Ping timeout: 255 seconds]
emmanuelux has quit [Read error: Connection reset by peer]
emmanuelux has joined #ffmpeg
ivanich has quit [Remote host closed the connection]
Trel has joined #ffmpeg
junaid_ has quit [Remote host closed the connection]
rv1sr has quit []
sewn has quit [Ping timeout: 272 seconds]
Buster__ has quit [Ping timeout: 255 seconds]
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
countach202020 has joined #ffmpeg
sewn has joined #ffmpeg
sewn has quit [Ping timeout: 248 seconds]
sewn has joined #ffmpeg
Capstan has quit [Ping timeout: 248 seconds]
lavaball has quit [Remote host closed the connection]
countach202020 has quit [Ping timeout: 246 seconds]
sewn has quit [Ping timeout: 248 seconds]
countach202020 has joined #ffmpeg
Ogobaga has quit [Quit: Konversation terminated!]
Ogobaga has joined #ffmpeg
Ogobaga has quit [Client Quit]
Ogobaga has joined #ffmpeg
odrling has joined #ffmpeg
sewn has joined #ffmpeg
a0z has quit [Ping timeout: 255 seconds]
Kruppt has quit [Quit: Leaving]
sewn has quit [Ping timeout: 255 seconds]
bitbinge has quit [Ping timeout: 256 seconds]
ecapi has quit [Ping timeout: 252 seconds]
Reiko has joined #ffmpeg
Razor has quit [Ping timeout: 246 seconds]
Kaedenn has joined #ffmpeg
<Kaedenn>
When processing an .m3u8 video via https, is there any way to have ffmpeg display either the estimated time remaining, the total duration of the video, the number of .ts segments, or anything to give me insight into how close it is to finishing?
kurosu has quit [Quit: Connection closed for inactivity]
<another|>
livestream or vod?
<Kaedenn>
vod
<Kaedenn>
`curl -L https://example.com/video.m3u8` lists the number of segments, obviously, but I don't want to perform an additional web request if I can avoid it
jtgd has joined #ffmpeg
Estrella has quit [Remote host closed the connection]
Estrella has joined #ffmpeg
jtgd has quit [Quit: WeeChat 4.1.0]
cuiltb^ has quit [Remote host closed the connection]