Marth64 changed the topic of #ffmpeg to: Welcome to the FFmpeg USER support channel | Development channel: #ffmpeg-devel | Bug reports: https://ffmpeg.org/bugreports.html | Wiki: https://trac.ffmpeg.org/ | This channel is publically logged | FFmpeg 7.1 is released
emmanuelux has quit [Ping timeout: 252 seconds]
noobaroo has joined #ffmpeg
rex has quit [Ping timeout: 248 seconds]
TheSilentLink has quit [Quit: Good Bye! My bouncer has probably crashed or lost connection to the internet...]
rex has joined #ffmpeg
TheSilentLink has joined #ffmpeg
TheSilentLink has quit [Client Quit]
JanC has quit [Ping timeout: 252 seconds]
TheSilentLink has joined #ffmpeg
Flat_ is now known as Flat
JanC has joined #ffmpeg
TheSilentLink has quit [Ping timeout: 252 seconds]
wobbol has quit [Ping timeout: 276 seconds]
TheSilentLink has joined #ffmpeg
JanC has joined #ffmpeg
JanC has quit [Killed (lead.libera.chat (Nickname regained by services))]
<lemondevxyz>
Hello, I wanna use ffmpeg to send raw opus audio to Discord but I keep hearing subtle yet noticable audio artifacts with my audio input. I have tried using a pipe as an input, using a file as an input but to no avail
<lemondevxyz>
I have worked before on using the libopus directly and it worked wonderfully but I want to use ffmpeg because importing C libraries in the language I am working in is a hassle.
<lemondevxyz>
Here's the ffmpeg command I currently use wrapped in backquotes: `ffmpeg -i - -ar 48000 -ac 2 -acodec libopus -b:a 96K -map 0:a:0 -f data -application audio -frame_duration 20 -vbr off pipe:1`
<lemondevxyz>
Another quirk I noticed is that if I read anymore than 240 bytes, the audio becomes completely unrecognizeable. I've tried 241 and 239 and both sound like records being scratched. I tinkered with the amount by using the original byte size I used, it originally was 960*2 (2 audio channels) and I kept halfing the value until it worked...
rex has joined #ffmpeg
wziko has joined #ffmpeg
wziko has quit [Ping timeout: 265 seconds]
lemondevxyz has quit [Ping timeout: 260 seconds]
lemondevxyz2 has joined #ffmpeg
Magissia has joined #ffmpeg
delthas_ is now known as delthas
iive has joined #ffmpeg
rsx has quit [Quit: rsx]
<lemondevxyz2>
Update: I haven't figured out the issue with ffmpeg but I found a solution. I have resorted to using ffmpeg as a universal decoder and encoding the result as ogg and using a native Golang ogg decoder and reading the opus frames directly from the Golang ogg decoder.
lemondevxyz2 has quit [Quit: Leaving]
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg
redeeman has quit [Quit: Coyote finally caught me]
Magissia has quit [Ping timeout: 248 seconds]
coldfeet has joined #ffmpeg
wziko has joined #ffmpeg
wziko has quit [Ping timeout: 252 seconds]
zmt01 has joined #ffmpeg
wziko has joined #ffmpeg
swamp_ has quit [Ping timeout: 272 seconds]
wziko has quit [Ping timeout: 265 seconds]
ShadowJK has quit [Quit: Leaving]
sm1999 has quit [Quit: WeeChat 4.5.1]
jemius has joined #ffmpeg
Flat has quit [Quit: Rip internet]
<noobaroo>
I'm wondering something, is there a way to specify areas of a to target high quality and specify which areas to disregard quality? Like a dynamic QP (CRF) setting? I've seen options before (although never used them) to set path to a film grain file or something like that, it would be cool if maybe something like this could be used to preserve specific areas as more clear than the rest?
Flat has joined #ffmpeg
<noobaroo>
lemondevxyz I think I'm behind your level so no help from me, but could you share the opus binary command you use that you feel is better?
ShadowJK has joined #ffmpeg
System_Error has quit [Remote host closed the connection]
phantomics_ has quit [Quit: Leaving]
phantomics has joined #ffmpeg
lavaball has quit [Remote host closed the connection]
System_Error has joined #ffmpeg
lavaball has joined #ffmpeg
vincejv- has joined #ffmpeg
vincejv has quit [Ping timeout: 248 seconds]
coldfeet has quit [Quit: Lost terminal]
vincejv- is now known as vincejv
minimal has joined #ffmpeg
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg
Blacker47 has quit [Quit: Life is short. Get a V.90 modem fast!]
wziko has joined #ffmpeg
wziko has quit [Ping timeout: 246 seconds]
Everything has joined #ffmpeg
wziko has joined #ffmpeg
lavaball has quit [Remote host closed the connection]
kasper93 has quit [Ping timeout: 244 seconds]
lavaball has joined #ffmpeg
kasper93 has joined #ffmpeg
Traneptora has quit [Quit: Quit]
sewn has quit [Ping timeout: 248 seconds]
Flat has quit [Quit: Rip internet]
Flat has joined #ffmpeg
jemius has quit [Quit: Leaving]
lavaball has quit [Quit: lavaball]
SuicideShow has quit [Ping timeout: 252 seconds]
Everything has quit [Quit: leaving]
SuicideShow has joined #ffmpeg
<grib>
noobaroo: (assuming i understand your question) the two-pass variable bitrate encoding already does something a lot like that -- pass 1 decides where to target/disregard quality, pass 2 varies the Q based on pass 1
<grib>
you could presumably edit or create the pass 1 results yourself