[Ffmpeg-devel-irc] ffmpeg.log.20170715

burek burek021 at gmail.com
Sun Jul 16 03:05:01 EEST 2017


[00:00:26 CEST] <Asuran> hmm really? would it make it sound worse or? i usally do that in audacity
[00:00:33 CEST] <kazuma_> why does "ffprobe video.mkv > videoinfo.txt" not work?
[00:00:56 CEST] <furq> because ffprobe with no options outputs to stderr
[00:04:39 CEST] <Asuran> furq, would it for example resample 48khz again and using libopus prevens it?
[00:04:53 CEST] <furq> nvm libopus doesn't resample
[00:05:03 CEST] <Asuran> doesnt? im sure it does
[00:05:14 CEST] <Asuran> you can give opusenc for example 44khz input
[00:05:18 CEST] <Asuran> and it will be upsampled
[00:05:19 CEST] <furq> right, opusenc does
[00:05:26 CEST] <furq> that's part of opus-tools, not libopus
[00:05:33 CEST] <Asuran> alright thanks
[00:05:36 CEST] <furq> anything using the lib has to resample itself
[00:10:13 CEST] <Asuran> thx
[00:35:11 CEST] <Asuran> does -ar does not resample if same khz?
[00:37:14 CEST] <JEEB> it enables the filter and no idea what it does if input=output, hopefully it is nice enough to do no-op if the input rate matches output rate :P
[00:38:25 CEST] <Asuran> should i left it out then and let ffmpeg decide or who it does
[00:44:30 CEST] <grublet> JEEB: maybe somebody should test if input=output for -ar with same rate
[00:45:06 CEST] <JEEB> it's not closed source so you can just check the docs or the source :)
[00:46:29 CEST] <furq> it's a noop
[00:46:37 CEST] <furq> you don't need to look at the source, just use -v debug
[00:46:51 CEST] <JEEB> :)
[00:47:20 CEST] <thebombzen> Although whether or not it autoinserts the filter shouldn't be relevant, because aresample should do nothing for input=output
[00:47:43 CEST] <thebombzen> in the same way that -vf scale does nothing if the input and output size and pixel format are the same
[00:48:57 CEST] <furq> -af aresample does actually do something though
[00:49:29 CEST] <furq> [Parsed_aresample_0 @ 0x80d435ac0] ch:2 chl:stereo fmt:s16 r:44100Hz -> ch:2 chl:stereo fmt:s16 r:44100Hz
[00:49:37 CEST] <furq> that's missing with -ar 44100
[00:50:25 CEST] <furq> and ofc by "something" i mean potentially still nothing
[00:50:39 CEST] <furq> but -ar doesn't even insert the filter if it's the same as the input
[01:08:41 CEST] <Asuran> -af aresample=resampler=soxr:cheby=1:precision=28:dither_method=shibata -ar 48000 so should i use it like this
[01:15:37 CEST] <thebombzen> Asuran: try -af aresample=48000:resampler=soxr:cheby=1:precision=28:dither_method=shibata
[01:17:24 CEST] <Asuran> thanks
[01:17:27 CEST] <Asuran> i use it now
[05:28:19 CEST] <created> How do I tell libavcodec not to reorder frames for display order?
[05:31:17 CEST] <created> (I want them in coded order, as given to it)
[05:50:37 CEST] <created> It's amazing how much useless junk you can configure (or pretend to configure)
[05:50:51 CEST] <created> But no option to avoid reorder :/
[06:00:52 CEST] <created> Hooray!
[06:01:04 CEST] <created> I think I found a way to bleed the right order out of libavcodec
[06:01:56 CEST] <created> If I don't get a picture, I try again with an empty packet and libavcodec splurges out the frame it was saving
[06:03:56 CEST] <created> At least.. it works nicely in avc1... mp4 seems to not save the i frames in this case for some reason
[06:07:37 CEST] <created> mp4 (aka mp4v) doesn't have b-frames, though, does it?
[06:09:33 CEST] <created> Aka mpeg4 or whatever it's called
[06:10:15 CEST] <atomnuker> yes it does
[06:10:18 CEST] <atomnuker> mpeg2 does
[06:10:44 CEST] <atomnuker> and you seem to be doing something very wrong to want to get frames in some other order than present order
[06:12:31 CEST] <created> Something unusual, but not wrong
[06:13:26 CEST] <created> What's the difference between MPEG2 and MPEG4?
[06:14:13 CEST] <created> (I pretty much need to stream an application the frames in decompress order, I have no choice)
[06:16:01 CEST] <atomnuker> the correct way is to ref each decoded frame and wait for the frame with the lowest (expected) pkt_dts to appear
[06:16:19 CEST] <atomnuker> this obviously wouldn't work with variable frame rate
[06:17:08 CEST] <atomnuker> (or maybe it would assuming the dts is always monotonic)
[06:17:16 CEST] <created> That means I can't stream frames until I'm done with the entire file, though, no?
[06:17:23 CEST] <atomnuker> no
[06:17:26 CEST] <created> Unless I misunderstand you
[06:17:40 CEST] <created> By 'ref' do you mean save? Else, what's 'ref'?
[06:17:49 CEST] <atomnuker> av_frame_ref
[06:18:10 CEST] <atomnuker> you do know you unref frames once you're done with them, no?
[06:19:01 CEST] <created> No, I don't think that was in the example I copied
[06:19:44 CEST] <created> But how do I know when to wait for a frame with lower dts?
[06:19:45 CEST] <atomnuker> not sure what you copied from where, but generally once you decode a frame you need to unref it once you're done with it
[06:20:40 CEST] <atomnuker> the next sequential dts is going to be the present dts + the delta (of the current dts from the previous dts)
[06:21:31 CEST] <atomnuker> what program requires to be fed _decoded_ frames with unchanged _encoded_ order?
[06:22:17 CEST] <created> But that still requires waiting for all the b-frames to come
[06:23:15 CEST] <atomnuker> no, it requires waiting for the next one to arrive
[06:23:27 CEST] <created> Yeah, I mean it requires waiting for additional packets
[06:24:24 CEST] <created> Which isn't ideal when I just want to get a frame that was already decompressed and libavcodec is just sitting on it (and my application needs it before it can display the other frames that libavcodec is giving me)
[06:24:49 CEST] <atomnuker> why?
[06:25:05 CEST] <created> Because it expects frames in decode order, as simple as that
[06:25:27 CEST] <created> (my != one I control in any way)
[06:25:47 CEST] <atomnuker> whatever you have is completely wrong
[06:26:18 CEST] <atomnuker> if libavcodec outputs a b frame early this would probably break the decoder state
[06:26:39 CEST] <atomnuker> since the p frames you receive depend on a b frame already popped off the list of references
[06:29:39 CEST] <created> Yeah, though it seems to work fine in h264's case (unless something's breaking without me noticing)
[06:30:26 CEST] <created> So I guess I'll keep my workaround there and deal with mpeg4 when I get to it
[06:30:38 CEST] <created> Thanks for trying to help and putting up with me, atomnuker :p
[06:31:49 CEST] <atomnuker> (if you have to deal with vp9 this will break completely because there are invisible frames which you never present)
[06:33:31 CEST] <created> Yeah, hopefully I won't need to deal with much else. Maximum, I might try the dts sugestion
[06:36:22 CEST] <created> I think I likely won't have to deal with mpeg4s with bframes either
[06:55:12 CEST] <created> Oh and re:av_frame_unref
[06:55:39 CEST] <created> Going by the documentation of avcodec_decode_video2, it should only be used if refcounted_frames was set
[06:55:57 CEST] <created> Otherwise, the frame is valid until the next decode, which is perfect for me
[06:57:16 CEST] <created> (As I need to copy/convert it anyway)
[06:58:58 CEST] <atomnuker> ugh, a memcpy
[07:02:16 CEST] <created> No
[07:02:21 CEST] <created> Also.. I wonder if...
[07:07:32 CEST] <created> Hooray, it looks like everything I said is invalidated - I can use display order after all
[07:07:44 CEST] <created> :P
[07:20:37 CEST] <created> (Tunnel vision is a difficult thing to avoid)
[07:21:30 CEST] <created> Thanks for the help!
[11:38:12 CEST] <cableguy> hey team
[11:38:29 CEST] <cableguy> why does my command copy only last audio track in the vob and not all audio tracks?
[11:39:00 CEST] <cableguy> ffmpeg -i "file.vob" -c copy -fs 10000000 -ss 00:00:00 -t 00:10:00 "copy.vob"
[11:39:29 CEST] <cableguy> e.g. source vob has 2 audio tracks, ffmpeg picks only 2nd audio track
[11:39:35 CEST] <cableguy> where does 1st audio track disappear
[11:42:40 CEST] <kerio> furq the histeq filter only takes 8 bit inputs ;-;
[11:47:32 CEST] <furq> cableguy: -map 0
[11:47:43 CEST] <cableguy> what does that do
[11:48:48 CEST] <cableguy> i get 0 byte
[11:49:22 CEST] <cableguy>  Invalid media type data for output stream #0
[11:49:49 CEST] <furq> -map 0:v -map 0:a
[11:50:56 CEST] <furq> or -map 0 -copy_unknown
[11:54:00 CEST] <cableguy> -map 0:v -map 0:a works
[11:54:07 CEST] <cableguy> the other one gives same error
[11:54:58 CEST] <cableguy> wait, its wrong
[11:55:03 CEST] <cableguy> it remaps audios order
[11:55:20 CEST] <cableguy> the 2nd track (foreign language) becomes 1st track and the 1st track (english) becomes 2nd track
[11:55:32 CEST] <cableguy> i dont need that
[11:56:38 CEST] <furq> https://ffmpeg.org/ffmpeg.html#Advanced-options
[12:04:02 CEST] <cableguy> but its not working
[12:04:07 CEST] <cableguy> the -map 0
[12:04:14 CEST] <cableguy> "For example, to map ALL streams from the first input file to output"
[12:04:19 CEST] <cableguy> "ffmpeg -i INPUT -map 0 output"
[12:04:31 CEST] <cableguy> it gives 'Invalid media type data for output stream #0
[12:10:37 CEST] <cableguy> nevermind,im retarded,the audio tracks are already mixed up in the source
[12:10:50 CEST] <cableguy> so yeah furq thanks for -map 0:v -map 0:a
[14:46:26 CEST] <mifritscher1> hi
[14:47:18 CEST] <mifritscher1> I'm trying to encode. in what cases can AVFormatContext.pb be null (so avio.open() crashes) ?
[14:47:49 CEST] <mifritscher1> a av_dump_format says:
[14:47:58 CEST] <mifritscher1> Output #0, mpeg, to 'C:\temp\blabb.avi':
[14:47:58 CEST] <mifritscher1>     Stream #0:0: Unknown: none (mpeg1video)
[14:49:05 CEST] <mifritscher1> it seems that a muxer is missing?
[15:18:52 CEST] <mifritscher1> hmm, if I give a broken filename to it it returns normally
[15:19:03 CEST] <mifritscher1> (albeit with a error message)
[15:34:02 CEST] <mifritscher1> got it :-) (Java jni mistake)
[19:42:38 CEST] <Asuran> how do i pass x265-params when they already spaced with : but the param itself uses : like -x265-params deblock=1:1
[19:46:19 CEST] <kepstin> Asuran: have you tried escaping it with a '\'? (note that you'll have to quote or escape it so your shell doesn't eat it, too.
[19:46:22 CEST] <kepstin> )
[19:49:52 CEST] <Asuran> works thanks
[21:56:29 CEST] <faLUCE> Hello. Which is the correct form for this instruction?  1)  av_opt_set(mMuxerContext->priv_data, "mpegts_flags", "pat_pmt_at_frames", 1);    OR 2) av_opt_set(mMuxerContext->priv_data, "pat_pmt_at_frames", "1", 0);
[22:01:28 CEST] <wondiws> Hi, I do "ffmpeg -i yolt.vob -vn acodec copy file.ac3", but this gives me the first soundtrack, which is French dub, how do I get the third?
[22:03:24 CEST] <c_14> -map 0:a:2
[22:03:57 CEST] <c_14> or maybe -map 0:m:language:eng (or whatever language code)
[22:20:44 CEST] <faLUCE> I'm trying to set some params on the mpegts muxer, but the result is the same of when I don't set them. Here's the CLI, what's wrong?  ffmpeg -i sgarbi2.mkv -f mpegts -pat_pmt_at_frames 1 -mpegts_flags resend_headers -an sgarbo.ts
[22:21:34 CEST] <faLUCE> sorry:   ffmpeg -i sgarbi2.mkv -f mpegts -mpegts_flags pat_pmt_at_frames -mpegts_flags resend_headers -an sgarbo.ts
[22:22:17 CEST] <faLUCE> when I inspect the produced mpegts file, with wireshark, I see it's the same (same position of PATs and PMTs) of that without options
[22:26:15 CEST] <c_14> you're overwriting the flags
[22:26:24 CEST] <c_14> use -mpegts_flags pat_pmt_at_frames+resend_headers
[22:26:36 CEST] <JEEB> flags are basically bitmasks
[22:26:48 CEST] <JEEB> but yea, -v debug might have also shown you what was happening
[22:30:17 CEST] <faLUCE> great c_14
[22:31:22 CEST] <faLUCE> how can I obtain the same result with C code? I tried av_opt_set(mMuxerContext->priv_data, "pat_pmt_at_frames", "1", 0); but it doesn't seem to work
[22:33:04 CEST] <c_14> if you're setting 2 flags, the same way
[22:34:28 CEST] <faLUCE> c_14: av_opt_set(mMuxerContext->priv_data, "mpegts_flags", "pat_pmt_at_frames+resend_headers", 1);    ?
[22:35:02 CEST] <c_14> probably
[22:50:14 CEST] <faLUCE> now; I'm trying to set pes_payload_size:   fmpeg -i sgarbi2.mkv -f mpegts -pes_payload_size 752 -an sgarbo.ts     but it doesn't set it.... what could be wrong?
[23:52:57 CEST] <klow> Hey, anyone know if its easily possible to losslessly extract the left channel of an mp3 file to a new mp3 (to half the filesize of an mp3 where the Left and Right channels are the same data)
[23:53:14 CEST] <klow> I have a load of lectures etc where the audio is same on both sides , in mp3 format , want to reduce size
[23:54:06 CEST] <c_14> With ffmpeg, no. In general probably no
[23:57:50 CEST] <atomnuker> its not going to reduce the size anyway, the encoder is bound to see nothing in the right and spend as few bits as possible
[00:00:00 CEST] --- Sun Jul 16 2017


More information about the Ffmpeg-devel-irc mailing list