[00:19:13 CET] <BeerLover> What is wrong with: ffmpeg -y -i song.mp3 -c:a libfdk_aac -vn -b:a:0 32k -profile:a aac_he tmp/song_32k.mp3 -b:a:0 128k tmp/song_128k.mp3 ? [00:19:22 CET] <BeerLover> Invalid audio stream. Exactly one MP3 audio stream is required. [00:19:50 CET] <BtbN> an .mp3 file can hold exactly mp3, nothing else. [00:20:28 CET] <Hello71> seems pretty straightforward to me [00:21:31 CET] <Hello71> hm... I wonder if you can do -c aac x.wav [00:22:17 CET] <Hello71> yeah, works fine [00:22:26 CET] <furq> except you can't decode it [00:23:23 CET] <Hello71> hm. [00:23:27 CET] <Hello71> that does appear to be an issue [00:23:48 CET] <Hello71> avi works fine. I thought it was the same as wav [00:24:15 CET] <furq> they're both based on riff but they're not the same [00:24:32 CET] <DHE> yeah for AAC maybe you want an m4a instead? [00:24:34 CET] <Hello71> seems unnecessarily confusing [00:24:51 CET] <furq> it's a shame you weren't working at microsoft in 1991 [00:24:55 CET] <furq> you could have saved us all a lot of bother [00:25:08 CET] <furq> that sounds like sarcasm but it is very sincere [00:27:39 CET] <Hello71> maybe tell them to use UTF-8 while I'm there? heh [00:29:07 CET] <DHE> did it exist back then? [00:29:16 CET] <DHE> NT had some unicode but... [00:30:39 CET] <furq> 92 apparently [00:43:00 CET] <Hello71> my point is that UTF-16 sucks [00:53:05 CET] <furq> yes it does [00:53:52 CET] <furq> almost as badly as UCS-2 [12:11:56 CET] <rocktop> I concatenate two mp4 videos into one with ffmpeg concat but audio out of sync , how can I resolve this issue ? [12:19:40 CET] <AiNA_TE> do both files have identical encoding settings [12:19:47 CET] <AiNA_TE> what is the audio codec? [12:19:59 CET] <rocktop> AiNA_TE: I don't know how can I chack ? [12:20:03 CET] <rocktop> check* [12:20:03 CET] <AiNA_TE> media info [12:20:40 CET] <pink_mist> ffprobe, surely [12:21:07 CET] <AiNA_TE> ffprobe works too if you want [12:21:28 CET] <pink_mist> I mean, considering this is #ffmpeg, ffprobe seems more apropos [12:21:42 CET] <AiNA_TE> im not a fan :P [12:21:51 CET] <AiNA_TE> media info lays out the information better [12:31:52 CET] <rocktop> AiNA_TE: https://bpaste.net/show/4GD6K [12:33:27 CET] <rocktop> the only difference between both input stream audio is the first one is with 44100 Hz and second is with 48000 Hz [13:05:26 CET] <oto313> Hi, I am building ffmpeg from source. After build I would like to install libavfilter/rtsp.h to installation folder. Is this possible? [13:17:08 CET] <AiNA_TE> rocktop_ i would demux both audio tracks to wav [13:17:32 CET] <AiNA_TE> ffmpeg -v quiet -stats -drc_scale 0 -y -i %input% -ac 2 -y audio1.wav [13:17:46 CET] <AiNA_TE> then encode both files to aac, then cat them [13:18:05 CET] <AiNA_TE> also cat the videos on their own, and then mux them back together [13:20:45 CET] <AiNA_TE> bleh your videos have diffrent pixel formats also [13:21:16 CET] <AiNA_TE> yuvj420p and yuv420p [13:22:15 CET] <AiNA_TE> best to just encode both videos adding "-pix_fmt yuv420p" to your encode line [13:23:04 CET] <AiNA_TE> ffmpeg -i video1.mp4 -vcodec libx264 -pix_fmt yuv420p -acodec aac out1.mkv [13:23:11 CET] <AiNA_TE> ffmpeg -i video2.mp4 -vcodec libx264 -pix_fmt yuv420p -acodec aac out2.mkv [13:23:23 CET] <AiNA_TE> then just cat out1.mkv and out2.mkv [13:34:05 CET] <BtbN> oto313, that's not a public header, it won't get installed and you cannot use it from outside of libavfilter. [13:36:25 CET] <oto313> I am writing application which consume rtsp stream. Can I somehow send RTSP commands like SET_PARAMETER? [14:44:50 CET] <funnybunny2> What are planar and non-planar audio sample formats? [14:45:09 CET] <funnybunny2> I guess non-planar is "packed" [14:45:31 CET] <funnybunny2> (Trying to understand av_get_sample_fmt) [14:47:36 CET] <funnybunny2> I guess planar means each audio channel's sample data is contiguous, and packed/non-planar means the sample data for each channel is interleaved [14:48:14 CET] <funnybunny2> Please confirm! [15:06:38 CET] <DHE> planar means that 6-channel audio (5.1 and all that) will have 6 discrete arrays in the AVFrame, one for each channel. and similar for other numbers of channel [15:07:10 CET] <funnybunny2> DHE: Thanks [15:07:28 CET] <funnybunny2> Is this the right channel for users of the ffmpeg API? [15:07:33 CET] <funnybunny2> Or should I go to #ffmpeg-devel? [15:07:58 CET] <DHE> ffmpeg-devel is for patches to ffmpeg itself. this channel is fine for user API use [15:08:02 CET] <funnybunny2> OK [15:09:09 CET] <funnybunny2> I think https://www.ffmpeg.org/doxygen/trunk/group__lavc__core.html#ga11f785a188d7d9... should be updated to indicate that avcodec_open2 returns an AVERROR. I looked at the source code and it seems to be always returning AVERRORs. It's ambiguous whether it might not return one, but some arbitrary negative value instead. [15:09:53 CET] <funnybunny2> Most functions say "returns a negative AVERROR". This one just says "Returns zero on success, a negative value on error" [15:10:18 CET] <DHE> you can always look up the function av_strerror() to convert an error to a string [15:12:20 CET] <funnybunny2> DHE: I am using av_make_error_string. I think av_strerror is used to get a description of the AVERROR. It's sort of vague how they're different, but I think av_make_error_string is supposed to be human-readable [15:12:57 CET] <funnybunny2> My point is that for avcodec_open2, it's not clear from the documentation whether it returns an AVERROR, so it's not clear you use either of these functions with the return value [15:13:25 CET] <funnybunny2> But from skimming the source of avcodec_open2, it seems to always return an AVERROR [15:14:59 CET] <DHE> that's just the ffmpeg standard for returning errors. errno codes are sometimes used but they're not always descriptive enough [15:16:00 CET] <funnybunny2> DHE: I just looked at the source, and av_make_error_string literally just returns av_strerror. How stupid. I guess it's for legacy purposes [15:17:22 CET] <funnybunny2> Line 109: https://www.ffmpeg.org/doxygen/trunk/error_8h_source.html [16:48:54 CET] <funnybunny2> Can someone give an example of when avcodec_receive_frame would return AVERROR(EAGAIN)? I'm trying to determine whether I can recover, or if I should just exit the program. [16:49:58 CET] <funnybunny2> Or in a bigger piece of software, give up on playing the audio file [17:13:36 CET] <Trieste> Hi, which one of the scaling algorithms would be best if I'm trying to downscale text while keeping it as sharp/legible as possible? :) [17:27:27 CET] <Blacker47> Trieste, you can cut a small part of a video, like 10 seconds, and then try all of the algos like that: https://paste.debian.net/hidden/1c204aa0/ [17:28:39 CET] <Blacker47> Trieste, i assume bicubic or bilinear would be ok/best. [17:29:20 CET] <Trieste> hah, did not consider that, thanks Blacker47 [17:30:26 CET] <kepstin> also try 'area' which can give good results retaining sharpness while downscaling [17:31:35 CET] <kepstin> how much are you downscaling by? [17:31:46 CET] <kepstin> and how big is the text? :) [18:05:14 CET] <DHE> funnybunny2: just because you ran avcodec_send_packet() doesn't mean that avcodec_receive_frame will return a frame immediately. out-of-order decoding (B-frames) is a thing [20:13:19 CET] <igssl> https://pastebin.com/wvVEEsAi < any clue what i did wrong? trying to convert a series of "0000"-named gifs into webms [20:13:56 CET] <nicolas17> I don't think you can do batch conversion like that [20:14:16 CET] <nicolas17> it will take each gif as a frame of the single output video [20:14:47 CET] <igssl> ... there is no way to batch convert gifs in ffmpeg? [20:15:13 CET] <nicolas17> use a script around it to run ffmpeg multiple times [20:15:19 CET] <igssl> amazing [20:15:21 CET] <nicolas17> oh you're on Windows... good luck [20:40:06 CET] <pink_mist> can't he use ffmpeg to convert the gifs into single-frame images, and then take all those and make them into a webm [20:40:43 CET] <nicolas17> pink_mist: I think he wants to convert *each* animated gif into a webm [20:40:50 CET] <nicolas17> n gifs into n webms [20:41:08 CET] <pink_mist> ohh [20:41:32 CET] <pink_mist> right, then a small shellscript is the ticket [00:00:00 CET] --- Sat Nov 30 2019
participants (1)
-
burek