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

burek burek021 at gmail.com
Wed Feb 21 03:05:02 EET 2018


[03:56:21 CET] <classsric> hi, somebody with hw_accel experience
[03:56:28 CET] <classsric> I use this command
[03:56:31 CET] <classsric> ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -i rtmp://tablet-9:1937/live/56f006922b10b8440f9a9cc6@5a8b6f0658312870d265a37d -r 2 -vsync 2 -vf deinterlace_vaapi,scale_vaapi=w=240:h=320,hwdownload,format=nv12 -f mjpeg http://tablet-9:2064/56f006922b10b8440f9a9cc6@5a8b6f0658312870d265a37d
[03:57:15 CET] <classsric> in intel baytrail with jpeg hw_dec but not mjpeg_vaapi encoder, is right?
[04:45:29 CET] <Kennedy> this ffpeg error mean anything to anyone? --->>>>>>>> ffmpeg: relocation error: /usr/lib/x86_64-linux-gnu/libavfilter.so.6: symbol avpriv_do_elbg, version LIBAVCODEC_57 not defined in file libavcodec.so.57 with link time reference
[04:46:44 CET] <Kennedy> i'm using ffmpeg in a plex postprocessing script. Odd thing when I run the file on the transport stream (.ts) file as root or even as the plex user it completes.When the plex daemon runs the process this is what I finally found after enabling debugs.
[07:11:56 CET] <Retro47> Why is it that if I combine a background image, watermark/overlay and audio via ffmpeg, then send that video for example via whatsapp, the overlay disappears as if it was never there? but if I preview it on desktop, its there. How could I fix that, what kind of argument passed would merge them all onto one "layer"? if I play it back on my phone it even just shows a gray background instead of any image, heres the current command:
[07:12:01 CET] <Retro47> "ffmpeg -y -i background.jpg -i overlay.png -filter_complex "scale=w=1920:h=1080; [0:v][1:v] overlay=(W-w)/2:(H-h)/2" -i 'music.mp3' ep1.mp4"
[07:13:24 CET] <Retro47> sorry the title just now showed, heres the pastebin of above: https://pastebin.com/GLGyEjNv
[09:05:55 CET] <yleibov> hello
[09:06:25 CET] <yleibov> i have a small question regrading the ffmpeg tool, is someone here available ?
[09:20:55 CET] <pmjdebruijn> yleibov: just ask and wait if someone knows
[09:21:41 CET] <yleibov> i need to convert H264 file to a raw RGB - can i do it using ffmpeg ?
[09:22:47 CET] <pmjdebruijn> what do you consider a raw RGB ?
[09:24:16 CET] <pmjdebruijn> yleibov: typically you transcode from codec1 to codec2
[09:24:25 CET] <pmjdebruijn> AFAIK there is no raw RGB codec
[09:24:44 CET] <pmjdebruijn> oh apparently there is :)
[09:25:30 CET] <pmjdebruijn> yleibov: ffmpeg -i myvid.mp4 -c:v rawvideo -c:a copy myvid.mov
[09:25:32 CET] <yleibov> should be one, i know that NVIDIA tool can decode H264 file into *.RGB
[09:25:43 CET] <yleibov> i've wanted to do the same process using the ffmpeg
[09:25:44 CET] <pmjdebruijn> yleibov: do you have a sample file?
[09:25:51 CET] <yleibov> yes
[09:25:54 CET] <pmjdebruijn> you can run ffprobe on that sample file to see what is actually is
[09:26:04 CET] <yleibov> one sec
[09:26:11 CET] <pmjdebruijn> btw, what is your end goal?
[09:26:34 CET] <yleibov> compare the details between 2 RGB files
[09:26:53 CET] <pmjdebruijn> why do you need RGB for that?
[09:27:28 CET] <pmjdebruijn> ffmpeg can extract single frame images if you need that
[09:28:39 CET] <yleibov> i have a tool that is converting H264 file to RAW RGB file using NVIDIA codec
[09:28:58 CET] <yleibov> i need to test the file quality using other tool that doing the same process
[09:29:21 CET] <yleibov> just wanted to know if i can convert the H264 file into RGB file
[09:29:44 CET] <yleibov> once have that i can use the ffprobe to compare
[09:30:10 CET] <pmjdebruijn> yes ffprobe is a good starting point
[09:30:19 CET] <pmjdebruijn> you I would _guess_ it's rawvideo you want
[09:30:28 CET] <pmjdebruijn> as I pasted earlier
[09:30:29 CET] <yleibov> right
[09:30:51 CET] <pmjdebruijn> yleibov: btw ffmpeg itself has quality metric tools as well: https://ffmpeg.org/ffmpeg-filters.html#ssim
[09:32:29 CET] <yleibov> looks good i will test it
[09:33:10 CET] <pmjdebruijn> big advantage is you don't need RGB intermediate files
[09:33:14 CET] <pmjdebruijn> IIRC
[14:11:21 CET] <shtomik_> Hi to all guys ;)
[14:11:40 CET] <shtomik_> Tell me, please, how to change libx264 profile and level? I tried:
[14:11:40 CET] <shtomik_> av_dict_set(&libx264opt, "profile:v", "high", 0);
[14:11:40 CET] <shtomik_> av_dict_set(&libx264opt, "level", "41", 0);
[14:11:40 CET] <shtomik_> or
[14:11:40 CET] <shtomik_> av_dict_set(&libx264opt, "profile", "high", 0);
[14:11:41 CET] <shtomik_> av_dict_set(&libx264opt, "level", "41", 0);
[14:11:43 CET] <shtomik_> or
[14:11:45 CET] <shtomik_> av_dict_set(&libx264opt, vprofile", "high", 0);
[14:11:47 CET] <shtomik_> av_dict_set(&libx264opt, "level", "41", 0);
[14:11:49 CET] <shtomik_> or
[14:11:53 CET] <shtomik_> enc_ctx->profile = FF_PROFILE_H264_HIGH_422;
[14:11:55 CET] <shtomik_> enc_ctx->level = 41;
[14:11:57 CET] <shtomik_> I took as a base a file transcoding.c, and try to change profile and
[14:11:59 CET] <shtomik_> level of encoder, but at the end its all the same:
[14:12:01 CET] <shtomik_> [libx264 @ 0x7fd68b094000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[14:12:03 CET] <shtomik_> [libx264 @ 0x7fd68b094000] profile Constrained Baseline, level 4.1
[14:12:05 CET] <shtomik_> [libx264 @ 0x7fd68b094000] 264 - core 148 r2795 aaa9aa8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=4 sliced_threads=1 slices=4 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bf
[14:12:10 CET] <shtomik_> rames=0 weightp=0 keyint=50 keyint_min=5 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
[14:12:14 CET] <DHE> you can stop spamming the channel now before you get kicked
[14:13:25 CET] <shtomik_> So sorry, it's not a spam, that was not on purpose :)
[14:14:12 CET] <DHE> the ":v" syntax is ffmpeg-specific and used for its own decision-making when it does av_dict_set
[14:15:17 CET] <DHE> also note that x264 profile commands will not raise thresholds to meet your request, it will only lower them to meet the limitations of it
[14:17:22 CET] <shtomik_> What have I done wrong? So sorry for my English
[14:21:04 CET] <DHE> way too little information available here for me. I'd check that the dictionary is empty when you're done - x264 will delete any parameters it uses. also check that you've used options that are specific to any profile above baseline. Like, specifically request 2 b-frames and see if it goes to Main as a result
[14:25:56 CET] <shtomik_> Oh, thanks!!! It's my fault, I very bad know H264
[14:26:07 CET] <shtomik_> Yes, now I get Main 3.1
[14:28:25 CET] <shtomik_> I need a change profile functions in my project, so tell me, please, what I need to learn, if I want implement this functional?
[14:29:21 CET] <shtomik_> Thanks for your time!
[15:58:51 CET] <SortaCore> why am I getting packets with massive negative PTS and super high DTS
[16:18:40 CET] <colekas> hello friends
[16:19:17 CET] <colekas> is there an easy way to remove audio packets from a TS? I don't want to mute the audio, I want them not to appear in the file
[16:21:17 CET] <alexpigment> colekas: do you mean audio streams?
[16:21:38 CET] <alexpigment> if so ffmpeg.exe -i [input] -c:v copy -an [output]
[16:21:51 CET] <alexpigment> -an is effectively "audio null"
[16:22:05 CET] <colekas> right, but I want to drop a portion
[16:22:07 CET] <alexpigment> there is also a -vn option (video null) that can be used in cases too
[16:22:26 CET] <colekas> so just like I can set loudness to 0, I want all packets say from x..y to just be dropped in the output TS
[16:22:28 CET] <alexpigment> gotcha. i didn't know for sure how literally you meant packets
[16:22:32 CET] <colekas> :)
[16:23:17 CET] <alexpigment> well, that's beyong my knowledge. i can think of a few "hacky" ways to do it, but it would probably result in some sort of audio sync problem
[16:23:17 CET] <colekas> I tried to duplicate my media file and then concatenate them together, but it looks like my command limited the output to just a single video and audio stream and didn't actually extend the video
[16:23:29 CET] <colekas> audio sync isn't important
[16:23:42 CET] <alexpigment> well, i was also thinking of using concat
[16:24:44 CET] <alexpigment> but if you concat a video with audio to a video without audio over the course of multiple concats, i'm not sure it would leave the audio spacing around videos without audio
[16:25:06 CET] <alexpigment> hence my concern about a sync issue
[16:25:48 CET] <alexpigment> anyway, you are very specifically talking about dropping packets at certain timestamps, and i'm sure others here have more experience to know whether it's possible or what to do
[16:38:00 CET] <colekas> thanks
[16:46:29 CET] <shtomik_> Guys, why VLC plays my mp4 movie with sound, and QuickTime player without it. What can have an impact on it?
[16:48:28 CET] <shtomik_> I use code from transcoding.c for my tests, and after transcoding QT player plays without sound...
[16:55:07 CET] <alexpigment> shtomik_: just to make sure, it's aac audio?
[16:56:30 CET] <alexpigment> apple stuff is notorious for rejecting certain formats within mp4
[16:56:35 CET] <alexpigment> (like mp3, for example)
[16:57:39 CET] <shtomik_> oh, thanks!!! yes, I use mp3, thanks!
[17:01:00 CET] <Nacht> The joys of apple and standards
[17:11:52 CET] <shtomik_> +
[17:28:14 CET] <alexpigment> i'm having a bit of a brainfart here because i don't usually mess with audio delays in ffmpeg, but is there a way to ignore/throwaway any existing audio delay values?
[17:28:57 CET] <alexpigment> i have some old files that are made in a nonstandard way, and the audio delay is a) wrong, and b) so extreme that i can't correct it with my usual editor
[17:32:49 CET] <alexpigment> i guess this "itsoffset" method i'm seeing on some ancient google searches is still valid
[17:36:36 CET] <furq> alexpigment: you don't need itsoffset
[17:36:44 CET] <alexpigment> i had a feeling i didn't
[17:36:45 CET] <furq> just -i foo -i foo -map 0:v -map 1:a
[17:36:54 CET] <furq> there may be an easier way but that works
[17:36:58 CET] <alexpigment> ah, map just removes the offsets too
[17:37:00 CET] <alexpigment> that works ;)
[17:37:03 CET] <alexpigment> thanks furq
[17:37:26 CET] <alexpigment> also, it makes perfect sense logically
[17:37:29 CET] <alexpigment> i just didn't think of it
[17:38:07 CET] <furq> i've actually only ever encountered that when i didn't want it to happen lol
[17:38:11 CET] <furq> which was annoying
[17:57:58 CET] <lyncher> hi. I'm trying to read from an audio stream that does not produce in realtime. Is it possible to have ffmpeg inject silence in a realtime capture?
[17:58:46 CET] <lyncher> I'm trying -af "aresample=min_comp=0.1:async=1:osr=32000" but the recorded file doesn't have silence inject when there are transmition gaps
[18:00:18 CET] <c_14> you can try amix with aevalsrc=0
[18:00:21 CET] <c_14> might work, might not
[18:00:38 CET] <c_14> not sure how the ffmpeg binary handles that
[18:00:40 CET] <kepstin> lyncher: in theory, you could maybe use the asetpts filter (see the ffmpeg-filter docs) to change the timestamps based on realtime (RTCTIME), which would mean there's actually timestamp gaps instead of continuous timestamps.
[18:00:53 CET] <kepstin> lyncher: but the ffmpeg cli tool is not designed for this use case.
[18:01:29 CET] <lyncher> I'm trying ffmpeg cli to try to get a strategy to implement in libavcodec
[18:02:28 CET] <kepstin> if you're writing something directly with libavcodec/libavfilter just do that. ffmpeg.c is designed as a batch encoding tool, not for realtime.
[18:02:57 CET] <kepstin> to do this in ffmpeg cli requires adding hacks to workaround the fact that it's designed as a batch tool :/
[18:29:21 CET] <lyncher> the problem that I'm facing now is that the input is getting blocked on the tcp socket
[18:29:31 CET] <lyncher> if no data is available on that socket.... there's no RT progress
[18:29:51 CET] <lyncher> how can I detach the filtering processing from a blocked source?
[18:30:45 CET] <lyncher> I think that is the reason that I don't see silence injected.... there's no advance in packet consuming, because there are no more packets being feed into the pipepline
[18:31:44 CET] <c_14> libav* should be threadsafe
[18:34:07 CET] <malorie> hi all. I'm trying to encode a .mov as different formats (.mp4, .webm, and .ogv, for embedding them in a website), but my attempts don't produce the same color in the videos. I think it has something to do with the color spaces, maybe?
[18:34:44 CET] <malorie> if so, how can I make sure all encodes use the same space?
[18:37:10 CET] <c_14> -pix_fmt yuv420p probably
[18:37:23 CET] <c_14> though you might want to check what your input is etc
[18:37:44 CET] <c_14> maybe the range is being misdetected
[18:38:31 CET] <malorie> hm. ffprobe is saying my .mov is yuv420p
[18:43:55 CET] <malorie> re-encoding with yuv420p didn't help either :\
[18:50:44 CET] <malorie> ok, now I see. inspecting the color in VLC shows that they are, in fact, the same color. but playing them in different browsers does something to the color it seems
[20:20:17 CET] <friki> Hi. Decodification must occur *before* presentaton, so: pts>=dts. Isn't it?
[20:21:52 CET] <JEEB> yes
[20:22:53 CET] <friki> JEEB: and should differ when using 'B' frames
[20:22:55 CET] <friki> thanks
[20:55:27 CET] <alexpigment> malorie: I realize this is a bad late on this, but what is most likely happening is that your GPU is causing the color to be presented as full or limited when hardware acceleration is enabled in the browser
[20:55:39 CET] <alexpigment> *a bit late
[20:56:15 CET] <alexpigment> this is an extremely common problem, but since most people aren't doing side-by-side comparisons or don't know the source material with extreme intimacy, they just don't notice it
[20:56:42 CET] <alexpigment> either way, the fix varies from GPU to GPU
[20:57:08 CET] <alexpigment> or you could just disable hardware accelerated video playback in your browser to test
[20:57:51 CET] <alexpigment> which GPU do you have, out of curiosity, and what is your OS?
[21:03:09 CET] <malorie> alexpigment: I see. I wouldn't have noticed either, weren't I trying to blend the video with my background-color.
[21:03:31 CET] <alexpigment> malorie: usually what you'll notice is that pure black areas are more gray
[21:03:45 CET] <alexpigment> nvidia's control panel has a simple setting to fix this
[21:03:57 CET] <alexpigment> you'll probably notice that VLC now looks "correct" after this
[21:04:07 CET] <malorie> I'm on a MacBook with Intel HD Graphics 515, btw
[21:04:12 CET] <alexpigment> ah gotcha
[21:04:32 CET] <alexpigment> not a whole lot of configuration there
[21:05:44 CET] <malorie> well, I'm more concerned about how to put it into production, without this color mismatch
[21:06:12 CET] <malorie> but apparently there isn't much I can do
[21:06:39 CET] <alexpigment> am i correct in assuming that the mp4 and mov look the same, but the ogv (and possibly the webm) look different?
[21:07:36 CET] <alexpigment> actually skylake may accelerate vp8, so the webm might look the same as the mp4 too
[21:10:33 CET] <malorie> no, you're right
[21:11:25 CET] <malorie> the .webm is off, and the .ogv is flickering, but I haven't looked into that yet, so might be another encoding issue for my .ogv still..
[21:11:42 CET] <malorie> the .mov and .mp4 look alike, tho
[21:13:29 CET] <furq> i wouldn't worry about ogv
[21:13:37 CET] <furq> i don't think there's any browser that plays ogv but not mp4/webm
[21:14:27 CET] <malorie> fair enough. I'm perfectly happy with dropping it, if it means one less problem to deal with :-)
[21:18:08 CET] <alexpigment> yeah, ogv isn't required at all
[21:18:37 CET] <alexpigment> webm is only *required*, if you even consider it a requirement, for dealing with Firefox on Windows XP
[21:19:19 CET] <alexpigment> and honestly, i have a feeling that at this point, people on XP just expect things to be broken for them
[21:20:49 CET] <malorie> oh, I was under the impression that webm is required for some modern browsers also. e.g. for mobile due to its smaller size
[21:21:28 CET] <malorie> but if the coverage is that good, I might as well drop webm too :->
[21:21:38 CET] <JEEB> with VP9 you could get better compression, but the hwdec capabilities of it are generally not wide
[21:22:04 CET] <JEEB> for mobile you will 99% of all time be using H.264 in some form or another, since all of the devices have capability for that
[21:22:18 CET] <JEEB> VP8 is definitely not worth it on any level
[21:23:10 CET] <malorie> yeah, that makes sense
[21:23:13 CET] <furq> are there still linux distros that refuse to have binary packaged h264 decoders
[21:23:26 CET] <furq> i know suse used to be super anal about that
[21:25:34 CET] <JEEB> yes
[21:25:41 CET] <JEEB> fedora and suse and such
[21:26:29 CET] <JEEB> VP9 actually has fast sw decoding thanks to ronald, and as such for desktops it might make sense if you can take your time transcoding the content
[21:27:58 CET] <Mista_D> Is there any way to see AC3 dialnorm values with FFmpeg or FFprobe please?
[21:30:23 CET] <jkqxz> VP9 hardware is not very far away from being on all new (non-fruit-related) devices.  All PC-type stuff does it in the most recent generation or two, and all new mobile chips have it.
[21:31:02 CET] <jkqxz> Though yes, there is enough old stuff (and fruit) around that it's not reasonably to rely on it yet.
[21:35:47 CET] <alexpigment> jkqxz: well, intel chips haven't made any significant progress in the past 8 or so years when you compare products of the same class, so there are many out there (including myself) who find little reason to upgrade
[21:35:58 CET] <alexpigment> in the desktop market, it's not a huge deal because GPU upgrades are somewhat common
[21:36:28 CET] <alexpigment> but in the laptop world, if you have a haswell-era processor for example, there is zero impetus for either the casual or advanced user to upgrade
[21:37:27 CET] <alexpigment> i know that sounds anecdotal and not really related, but it has a non-trivial impact on the install base of hardware accelerated playback
[21:39:23 CET] <alexpigment> Mista_D: https://manned.org/ffprobe-all/6c35dcb5 ; search for dialnorm
[21:40:36 CET] <Mista_D> alexpigment: that's for setting dialnorn, but I'd like to see it, not set it.
[21:41:00 CET] <alexpigment> ah, my mistake. i assumed it as seeing it, since it was on an ffprobe page
[23:42:18 CET] <solidus-river> hey all, i had a working encoding loop for mpeg1video and changed it to h264 and am now getting an error from avcodec_open2
[23:42:30 CET] <solidus-river> i'm thinking i've messed up some options on the context :?
[23:46:29 CET] <solidus-river> lol, and i'm getting a return value of.. -1313558101
[23:51:29 CET] <DHE> SolarAquarion: see av_strerror()
[23:55:24 CET] <solidus-river> heres my encoding code up to the point where things fail
[23:55:25 CET] <solidus-river> https://pastebin.com/afutCdrG
[23:55:35 CET] <solidus-river> looking around at examples i don't see anything particularly missing
[23:55:51 CET] <solidus-river> i'm changing from mpeg to mkv / h.264 the coe is working for mpeg1 with the mpeg1 code uncommented
[23:57:21 CET] <solidus-river> i'm continuing to hunt around for solutions but I don't see anything out of the ordinary when comparing my code with code of people who claim their encoder loop is working just fine and nothing particularly jumps out at my from the docs or examples in the docs
[23:57:39 CET] <solidus-river> in particular looking at this https://ffmpeg.org/doxygen/trunk/encoding-example_8c-source.html
[23:58:13 CET] <solidus-river> however the example is only for mpeg1 video so perhaps theres something else to set in h.264 :?
[23:58:37 CET] <alexpigment> i don't usually use the API, so I'm not sure what the number formatting is
[23:58:43 CET] <alexpigment> but is your bitrate 400Mbps?
[23:58:49 CET] <alexpigment> or 400Kbps?
[00:00:00 CET] --- Wed Feb 21 2018


More information about the Ffmpeg-devel-irc mailing list