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

burek burek021 at gmail.com
Fri Jul 6 03:05:02 EEST 2018


[00:49:20 CEST] <DHE> mpegts is a container, and ffmpeg supports it
[01:43:49 CEST] <wyseguy> hey all
[01:46:41 CEST] <wyseguy> im streaming live to youtube and running into some errors with my ffmpeg command that im running. im connected to a gopro with camera suite and then running ffmpeg, video works but is super pixelated and then has issues. here is 2 screenshots. https://imgur.com/a/PjhHech and here is the one with the code. https://imgur.com/a/03NS328
[01:54:29 CEST] <iive> first, don't use flv, it is limited to flv1 codec and it is bad. you tube should be supporting mp4 and h264 just fine
[01:54:48 CEST] <iive> (no idea really, never done live streaming to yt).
[01:56:42 CEST] <wyseguy> hi iive
[01:56:47 CEST] <wyseguy> so use -f h264
[01:56:49 CEST] <iive> second, you seem to be getting a lot of bitstream errors. this means that you are not getting the gopro video properly
[01:57:03 CEST] <iive> -f is for the file format, that would be mp4
[01:57:15 CEST] <wyseguy> ah
[01:57:18 CEST] <iive> -c:v libx264 -crf 24
[01:57:20 CEST] <wyseguy> i used this here... https://www.youtube.com/watch?v=59i2mrlqOKM
[01:57:30 CEST] <wyseguy> followed that FYI
[01:57:52 CEST] <iive> don't google have a guide?
[01:58:14 CEST] <wyseguy> ive looked extensively,
[01:58:21 CEST] <wyseguy> maybe im just missing it
[01:59:38 CEST] <wyseguy> so.. ffmpeg -f mp4
[02:00:56 CEST] <iive> https://productforums.google.com/forum/#!topic/youtube/To1xR5V3ytE
[02:01:02 CEST] <wyseguy> looking
[02:01:05 CEST] <iive> this one seems to have interesting links
[02:03:53 CEST] <wyseguy> ive seen those githubs, issue is the camera also needs a keepalive script to run every 2.5secs, im using camera suite so i dont have to deal with that
[02:04:02 CEST] <wyseguy> signal to camera suite is crisp
[02:04:41 CEST] <wyseguy> i feel the whole issue im having is in the ffmpeg command im running, it will stream live with the command, i think some of the options are set wrong
[02:05:47 CEST] <iive> actually the gopro stream is already h264, 30fps, yuv420
[02:06:04 CEST] <wyseguy> okay
[02:06:13 CEST] <iive> you might try directly copying it. that would be -c:v copy
[02:06:38 CEST] <iive> the audio is aac, no idea if youtube accepts that.
[02:07:01 CEST] <wyseguy> when i go live the audio works
[02:07:44 CEST] <iive> i mean, you turn aac into mp3. you might also try if sending it would work. that would be with -c:a copy
[02:07:51 CEST] <iive> (v for video, a for audio).
[02:08:41 CEST] <wyseguy> ffmpeg -f mpegts -i "udp://10.5.5.100:8554?fifo_size=10000" -f flv "rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx"
[02:08:44 CEST] <wyseguy> so thats the current command
[02:08:52 CEST] <wyseguy> i need to take away a few things or just add that to it?
[02:09:31 CEST] <iive> replace "-f flv" with "-c:v copy -c:a copy -f mp4" see if it works
[02:09:42 CEST] <wyseguy> okay trying
[02:09:50 CEST] <wyseguy> btw, youtube.com/dirtahead
[02:10:03 CEST] <wyseguy> thats where the live feed will be going, you can see the past one with the issues it had
[02:11:28 CEST] <wyseguy> going to log off on this irc and come back on the other computer so i can copy paste outputs, brb
[02:12:34 CEST] <wyseguy> okay back, let me try and stream
[02:12:44 CEST] <wyseguy> thanks for the help btw
[02:16:18 CEST] <wyseguy> now my gopro died, 1 sec lol
[02:19:07 CEST] <iive> i have to leave soon.
[02:22:36 CEST] <wyseguy> [mp4 @ 0x7fe0129f6200] muxer does not support non seekable output
[02:22:37 CEST] <wyseguy> Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
[02:22:42 CEST] <wyseguy> okay
[02:23:24 CEST] <wyseguy> iive don't let me keep you, leave when you have to go :)
[02:24:27 CEST] <iive> ok, try with -c:v copy -f flv
[02:25:20 CEST] <wyseguy> k trying
[02:26:47 CEST] <wyseguy> you see the live feed? looks much much much better
[02:27:03 CEST] <wyseguy> but stream quality is orange and not green
[02:27:13 CEST] <wyseguy> green means really good, orange is okay and red is bad
[02:27:23 CEST] <iive> https://trac.ffmpeg.org/wiki/Encode/YouTube this says you can do -f mp4 -movflags +faststart
[02:27:32 CEST] <wyseguy> had some errors at the first part of starting
[02:28:04 CEST] <wyseguy> [h264 @ 0x7f987b80c400] non-existing PPS 0 referenced
[02:28:04 CEST] <wyseguy>     Last message repeated 1 times
[02:28:04 CEST] <wyseguy> [h264 @ 0x7f987b80c400] decode_slice_header error
[02:28:04 CEST] <wyseguy> [h264 @ 0x7f987b80c400] no frame!
[02:28:06 CEST] <wyseguy> [h264 @ 0x7f987b80c400] non-existing PPS 0 referenced
[02:28:43 CEST] <iive> these are decoder errors
[02:29:00 CEST] <wyseguy> okay, so no big deal?
[02:29:06 CEST] <iive> it means that receives the data from gopro with some errors
[02:29:16 CEST] <wyseguy> ah
[02:29:22 CEST] <wyseguy> also got this from the gopro...
[02:29:23 CEST] <wyseguy> [mpegts @ 0x7f987c000400] Could not find codec parameters for stream 2 (Unknown: none ([128][0][0][0] / 0x0080)): unknown codec
[02:29:23 CEST] <wyseguy> Consider increasing the value for the 'analyzeduration' and 'probesize' options
[02:29:24 CEST] <iive> well, if it is connected with cable, there should be no errors at all.
[02:29:24 CEST] <wyseguy> Input #0, mpegts, from 'udp://10.5.5.100:8554?fifo_size=10000':
[02:29:24 CEST] <wyseguy>   Duration: N/A, start: 246.412833, bitrate: N/A
[02:29:54 CEST] <wyseguy> ah okay, ya its wifi
[02:30:03 CEST] <iive> stream 2 might be subtitles, or gps data, or something.
[02:30:03 CEST] <wyseguy> let me try that -f mp4 -movflags +faststart
[02:30:11 CEST] <iive> just a moment.
[02:30:23 CEST] <wyseguy> ah okay
[02:30:24 CEST] <wyseguy> so false positives
[02:30:24 CEST] <wyseguy> okay ill be here
[02:30:29 CEST] <iive> the wifi might reorder the packets, and ffmpeg won't be able to construct them properly
[02:30:45 CEST] <iive> see if you can find something that won't have that problem.
[02:31:04 CEST] <iive> e.g. using tcp, or rtsp...
[02:31:13 CEST] <iive> it depends on what the gopro supports
[02:31:50 CEST] <wyseguy> ya, well the gopro is wifi connected to macbook air and a program called camera suite is bringing in the feed, its super crisp
[02:32:06 CEST] <wyseguy> the changes you suggested already improved the feed by 1000%
[02:32:26 CEST] <iive> :) it's using the original video ... so it will be good.
[02:32:31 CEST] <wyseguy> ah
[02:32:36 CEST] <wyseguy> okay let me try that -f mp4 -movflags +faststart
[02:33:15 CEST] <iive> the mp4 thing might allow you to use aac, as flv is limited to mp3.
[02:33:52 CEST] <wyseguy> k
[02:33:54 CEST] <wyseguy> trying now
[02:33:56 CEST] <iive> gtg
[02:34:00 CEST] <iive> see ya.
[02:38:02 CEST] <wyseguy> thanks iive
[04:26:35 CEST] <neuronton> hey guys
[12:46:50 CEST] <Schmetterwurm> Hi, i would like to know, if it is possible for ffmpeg to recieve a folder as input and just one file as output. just as it is possible with handbrake. for context, the input folder is a copy of a DVD and contains .IFO and .VOB files.
[13:15:15 CEST] <furq> Schmetterwurm: if you're dealing with dvds on *nix then you probably want tccat
[13:52:02 CEST] <YokoBR> hi there
[13:53:05 CEST] <YokoBR> I'm using this args to create a live streaming. But after some time it get's a little bit messed, with squares, and like it's pulsing...
[13:53:08 CEST] <YokoBR> args = ['ffmpeg', '-i','-', '-vcodec', 'libvpx', '-c:v', 'libx264', '-preset', 'veryfast', '-tune', 'zerolatency','-bufsize', '3968k', '-maxrate', '1984k','-movflags', 'faststart','-bf', '2','-c:a', 'aac', '-b:a', '128k',	'-ac', '1', '-g', '30', '-f', 'flv', url]
[13:53:18 CEST] <YokoBR> Is there any way to improve it?
[13:53:52 CEST] <furq> for starters, -vcodec libvpx is doing nothing there
[13:54:03 CEST] <furq> secondly don't use -tune zerolatency for streaming to youtube or twitch if that's what you're doing
[13:54:22 CEST] <furq> -movflags faststart also does nothing
[13:54:31 CEST] <furq> -ac 1 is pointless at that bitrate
[13:58:08 CEST] <ariyasu> ffmpeg -i %input% -vn -sn -acodec pcm_s32le audio.wav
[13:58:10 CEST] <YokoBR> furq: the -vcodec libvpx is because I'm streaming from a vp8/9 webm source
[13:58:18 CEST] <ariyasu> why is this failing with "-vn: No such file or directory" ?
[13:58:28 CEST] <furq> YokoBR: that makes no difference unless you put it before -i
[13:58:42 CEST] <YokoBR> ariyasu: your %input% may be null
[13:58:59 CEST] <ariyasu> nevermind
[13:59:00 CEST] <ariyasu> yes
[13:59:03 CEST] <ariyasu> i forgot to set it
[13:59:18 CEST] <furq> and also you shouldn't use the libvpx decoder unless you need to support features that ffmpeg's internal decoder doesn't support
[13:59:21 CEST] <furq> it's slower
[13:59:25 CEST] <YokoBR> furq: I see. But should I use it to enforce the vp8/9 thing?
[13:59:28 CEST] <furq> no
[13:59:31 CEST] <YokoBR> Oh lol
[13:59:38 CEST] <furq> afaik it's only useful if you have transparency
[13:59:39 CEST] <YokoBR> I see, thank you so much
[13:59:51 CEST] <YokoBR> I'm creating a browser live studio
[13:59:58 CEST] <YokoBR> using webrtc and rtmp
[14:00:20 CEST] <YokoBR> and multiple cameras, live guests, mutiple mics
[14:00:21 CEST] <furq> well yeah zerolatency will hurt the quality really badly
[14:00:38 CEST] <YokoBR> I see. If only I could improve the buffering
[14:00:39 CEST] <furq> in exchange for like 200ms less latency at best
[14:00:55 CEST] <YokoBR> I see
[14:01:13 CEST] <furq> plus you're then explicitly setting -bf 2 which will break it
[14:01:28 CEST] <furq> but you should get rid of it anyway unless you're trying to get sub-500ms latency
[14:01:31 CEST] <furq> in which case good luck in general
[14:03:32 CEST] <YokoBR> so this should do it better, right? ['ffmpeg', '-i','-', '-c:v', 'libx264', '-preset', 'veryfast', '-bufsize', '3968k', '-maxrate', '1984k', '-c:a', 'aac', '-b:a', '128k', '-g', '30', '-f', 'flv', url]
[14:04:56 CEST] <YokoBR> My streaming server has a buffer of 4096kb
[14:05:31 CEST] <furq> use a slower preset if you can afford to
[14:07:55 CEST] <YokoBR> furq: https://app.vidmonsters.com/live/vidmonsters
[14:08:21 CEST] <YokoBR> this is the live stream with your suggestions (except for the slower preset)
[14:12:23 CEST] <YokoBR> so far, so good
[14:12:25 CEST] <YokoBR> :D
[15:08:56 CEST] <YokoBR> It's working really good now
[15:08:57 CEST] <YokoBR> https://app.vidmonsters.com/live/vidmonsters
[15:09:16 CEST] <YokoBR> from the browser to my python API, then to my streaming server
[17:39:10 CEST] <^Neo> anyone have any experience with spdif demuxer?
[19:52:43 CEST] <wyseguy> morning
[20:06:48 CEST] <wyseguy> I ran this command and was getting a live stream that was super pixelated: fmpeg -i "udp://10.5.5.100:8554?fifo_size=10000" -f flv "rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx  But then after getting some insight, I tried running this command and the live stream was much better but youtube was showing the stream was having some issues: ffmpeg -f mpegts -i "udp://10.5.5.100:8554?fifo_size=10000" -c:v copy -f flv "rtmp://a.rtmp.youtube.com
[20:06:50 CEST] <wyseguy> /live2/xxxx-xxxx-xxxx-xxxx Any ideas on how to improve this?
[20:07:49 CEST] <azarus> Can the native ffmpeg aac encoder use high efficiency profiles?
[20:09:05 CEST] <azarus> ah, have to use libfdk_aac
[20:21:06 CEST] <wyseguy> hey there
[20:21:11 CEST] <wyseguy> azarus
[20:21:23 CEST] <wyseguy> iive was helping me yesterday
[20:22:04 CEST] <azarus> huh?
[20:22:48 CEST] <wyseguy> iive is a guy in this room, he was helping me with this issue
[20:43:34 CEST] <lemontea> I was wondering did ffmpeg ever fully support El Gato Capture devices? Specifically this Elgato Game Capture HD60.  Enumerate (https://pastebin.com/8kx7Tb8f)
[20:49:34 CEST] <JEEB> no idea, that just shows different DirectShow devices you have
[21:12:45 CEST] <lemontea> @JEEB, I got a HD60s, it enumerates fine, but El Gato HD60 doesn't and requires proprietary libraries?  Wondering if ffmpeg officially supported it or not.
[21:16:39 CEST] <JEEB> lemontea: it's just generic DirectShow device enumeration
[21:16:50 CEST] <JEEB> DirectShow being a standard MS API
[21:20:00 CEST] <wyseguy> Hi JEEB
[21:22:56 CEST] <lemontea> @Jeeb, Yes.  I just want to know if I can access it through ffmpeg's API and pull frames from it.  Probably by accessing its device hardware name, the one that contains GUIDs and pin name.
[21:24:12 CEST] <JEEB> if that supports any DShow pix_fmt that FFmpeg hablas it should work
[21:24:17 CEST] <JEEB> (and if the device behaves itself)
[21:28:51 CEST] <wyseguy> i am pushing video out to youtube and was using "-f flv" and it was getting a really bad picture, so then it was recommended to use "-c:v copy -f flv" and the live stream is much better, but isn't as clear as it should be. Ideas?
[21:30:46 CEST] <kepstin> the quality can't ever be better than with "-c:v copy", since that's sending the original video to youtube without any changes.
[21:31:26 CEST] <kepstin> (although I suppose youtube themselves might re-encode it in some circumstances)
[21:32:08 CEST] <wyseguy> i dunno, i know when i used -f flv the video was really really bad
[21:32:32 CEST] <wyseguy> when i used the -c:v copy -f flv is was much much better
[21:32:39 CEST] <kepstin> if you use -f flv with no other options, it'll pick a default codec to use, which will probably be pretty bad yes
[21:32:55 CEST] <wyseguy> here was the command i was using..
[21:33:06 CEST] <wyseguy> fmpeg -i "udp://10.5.5.100:8554?fifo_size=10000" -f flv "rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx
[21:33:16 CEST] <wyseguy> whoops, wrong one 1 sec
[21:33:50 CEST] <kepstin> wyseguy: if you don't provide any "-c:v" setting, ffmpeg will automatically pick some settings that will work, but generally won't be very good.
[21:34:00 CEST] <wyseguy> ffmpeg -f mpegts -i "udp://10.5.5.100:8554?fifo_size=10000" -f flv "rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx"
[21:34:11 CEST] <wyseguy> thats what i was originally using
[21:34:16 CEST] <wyseguy> okay so that makes sense then
[21:34:28 CEST] <wyseguy> so then i was was told to use this command...
[21:34:37 CEST] <wyseguy> ffmpeg -f mpegts -i "udp://10.5.5.100:8554?fifo_size=10000" -c:v copy -f flv "rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx"
[21:35:15 CEST] <kepstin> wyseguy: that overrides the default video encoder for flv (which is "flv1", a terrible old codec) and instead copies the original video from the camera unchanged.
[21:35:43 CEST] <wyseguy> and that was a night and day difference in the live stream, but youtube has this green, yellow and red light for how well the stream is doing and with the first command run it was red, this next command that looked much better was a yellow light.
[21:35:45 CEST] <wyseguy> ah okay
[21:35:49 CEST] <wyseguy> so im wondering what im still doing wrong here...
[21:36:13 CEST] <kepstin> youtube should have a dashboard page that says *why* your stream health isn't green.
[21:36:26 CEST] <kepstin> but it's probably that you're not meeting their bitrate requirements or something like that.
[21:36:26 CEST] <wyseguy> its basicaly a gopro hooked up to a mac with camera suite software and then live streaming that to youtube. only way i have found to livestream youtube with a gopro
[21:36:43 CEST] <wyseguy> ah yes, i took a screen shot of that 1 sec
[21:37:50 CEST] <wyseguy> the first command with the -flv was red and it said "bad video settings - the video is encoded with an unsupported codec. please set the video codec for the stream to a cupported codec (H.264)
[21:38:18 CEST] <wyseguy> let me live stream again with the yellow button and see what it says, forgot to get a screen shot of that
[21:42:32 CEST] <wyseguy> okay testing now kepstin
[21:44:19 CEST] <wyseguy> unsupported resolution
[21:45:06 CEST] <wyseguy> you need to change the cideo resolution. the current resolution is 848x480, whichi is not supported for this configuration. the expected video resolution is 1280x720
[21:45:09 CEST] <wyseguy> video*
[21:46:19 CEST] <wyseguy> oh, the issue may be in the camera suite, let me try again
[21:46:53 CEST] <wyseguy> oh wait, no it wouldn't be there.. not sure what is causing it to stream in 848x480...
[21:50:42 CEST] <iive> wyseguy, is 10.5.5.100 the address of the gopro, or it is the ip of the macbook?
[21:51:43 CEST] <wyseguy> hey iive thanks for the help yesterday. that is the ip of the macbook
[21:51:47 CEST] <wyseguy> the macbook is connected to a wifi network that the gopro is pushing out
[21:53:04 CEST] <iive> are you running ffmpeg on a PC?
[21:53:13 CEST] <wyseguy> mac book air
[21:53:44 CEST] <iive> on the same mac?
[21:54:17 CEST] <wyseguy> current setup is gopro wifi to macbook air, camera suite shows the camera preview just fine. the macbook air is connected to a verizon hotspot via usb tether to live stream. ffmpeg is also being run on the macbook air, correct
[21:55:14 CEST] <iive> here I found how to get the gopro stream directly https://gist.github.com/laurieainley/7663756
[21:55:17 CEST] <wyseguy> current setup will have all this equipment in a backback including the macbook air running in clam shell mode to live stream to youtube. not the cleanest setup, but havent found another way to do this.
[21:55:44 CEST] <wyseguy> iive reading
[21:55:55 CEST] <iive> you had input stream errors, since http uses tcp, it should not have that issue
[21:56:17 CEST] <wyseguy> okay
[21:57:07 CEST] <wyseguy> 10.5.5.9:8080 Error 404: Not Found
[21:57:13 CEST] <wyseguy> that is the ip of the camera...
[21:58:15 CEST] <iive> but is the the IP of your camera?
[21:58:30 CEST] <wyseguy> ya it is
[21:58:39 CEST] <wyseguy> wonder if its trying over the mifi hotspot
[21:58:47 CEST] <wyseguy> let me get on irc on the other computer and try agian
[21:58:48 CEST] <wyseguy> 1 sec
[22:00:04 CEST] <wyseguy> okay, so if i do a lanscan, i can see the camera 10.5.5.9 ip
[22:00:39 CEST] <wyseguy> if i try and ping it i get request timeout
[22:01:26 CEST] <wyseguy> let me try this whole command and go live and see what happens
[22:03:41 CEST] <kepstin> wyseguy: yeah, that resolution is set on the camera or software on the mac, you'd have to change it there. ffmpeg is simply copying it as-is
[22:03:52 CEST] <wyseguy> okay
[22:14:46 CEST] <wyseguy> [http @ 0x7fb7d24026c0] HTTP error 404 Not Found
[22:14:46 CEST] <wyseguy> http://10.5.5.9:8080/live/amba.m3u8: Server returned 404 Not Found
[22:16:07 CEST] <wyseguy> http://10.5.5.9:8080/videos/DCIM/
[22:16:11 CEST] <wyseguy> that works FYI
[22:16:20 CEST] <wyseguy> and i can see the directory of files
[22:23:14 CEST] <wyseguy> http://10.5.5.9:8080/live/amba.m3u8 gives me a 404
[22:24:00 CEST] <wyseguy> reconnecting camera
[22:30:46 CEST] <wyseguy> same
[22:50:42 CEST] <^Neo> I've connected a set top box to an HDMI capture card and want to extract the Dolby Digital audio being sent via IEC61937
[22:51:09 CEST] <^Neo> right now I'm getting the PCM 2ch, 16 bit data, and then doing parsing that's in the spdifdec.c code to extract the audio out
[22:51:17 CEST] <^Neo> that seems to mostly work, but is incredibly clunky
[22:55:25 CEST] <wyseguy> looks like the gopro herl 6 black is different
[23:35:36 CEST] <lvlscape> my 'dumb' questyion for the day: tryign to setup with ffmpeg's 'kmsgrab' .. i've recompiled ffmpeg with --enable-drm  in the ./configure .. and pre 'make' it even lists kmsgrab as an input device .. post make install/distclean / hash -r / ldconfig .... kmsgrab still isnt in my 'ffmpeg -devices' ... to make sure i wasnt crazy i did a 'whereis ffmpeg' and checked the -devices for each.. to ensure i was checking
[23:35:38 CEST] <lvlscape> the device for the one i just compiled and not the one grabbed from debian library... not really sure where to look next after a few hours of googeling.
[23:51:45 CEST] <lvlscape> i think the hardware acceleration is a bi over my head, so hoping to least understand where i made a logical poo
[23:54:23 CEST] <jkqxz> If you made a shared build, it is very easy to accidentally pick up the wrong libavdevice.
[23:54:51 CEST] <jkqxz> Not sure what could go wrong other than that - if it appears in the list at configure time then it really should be there at runtime.
[00:00:00 CEST] --- Fri Jul  6 2018


More information about the Ffmpeg-devel-irc mailing list