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

burek burek021 at gmail.com
Thu Aug 11 03:05:01 EEST 2016


[00:17:29 CEST] <bencc> kepstin: ok, so no need for gpu
[00:18:18 CEST] <bencc> any specific features in a cpu? clock-speed, number of cores...?
[00:18:37 CEST] <bencc> for example here I see a large number of servers and has no idea what to pick
[00:18:38 CEST] <bencc> https://securedservers.com/bare-metal-dedicated-servers
[00:19:20 CEST] <kepstin> More is better? You'll really have to just try and see to find what specs you'll need to meet your specific requirements
[00:24:17 CEST] <DHE> usually, but high-core count CPUs run slower. so you can't max out both at the same time.
[00:27:25 CEST] <bencc> kepstin: I don't have specific requirements :)
[00:27:41 CEST] <bencc> just transcoding vp8 to h264 with 720p and standard quality
[00:28:25 CEST] <bencc> is it better to have one machine with many CPUs or several smaller machines?
[00:38:44 CEST] <mrelcee> i have a 2012 core i7 desktop processor in a machine.  quad core..  it tears up the frames and asks for seconds...    running freebsd..
[00:40:04 CEST] <mrelcee> i imagine a newer core with ddr4 would be impressive
[00:40:45 CEST] <mrelcee> but i paid almost nothing for it..     it's a hand me down from someone who upgraded
[00:41:20 CEST] <DHE> I have an e5-2698 v4. holy hell this thing is a beast
[01:19:37 CEST] <cas_> Hi, I am using the segment muxer with segment_atclocktime and strftime for recoring an audio stream but the filenames are not exact on the segment_time duration (I use 5 seconds and get e.g. 00.ts, 09.ts, 15.ts, 19.ts...)
[01:20:18 CEST] <cas_> is there a way how to stick to the offset?
[03:05:05 CEST] <jookiyaya>  what is beter 720p or 1080i
[05:18:12 CEST] <Spring> hey durandal_1707, remember that ffplay bug we talked about? Turns out if you omit -an and use atrim it prevents the slowndown.
[05:21:49 CEST] <Spring> which is strange considering -an should disable audio altogether, but for whatever reason sync'ing both trims with audio enabled fixes it.
[05:22:20 CEST] <Spring> tried adding -an + atrim but the slowdown occurs again
[05:22:54 CEST] <Spring> so I may look into a volume adjustment filter if there's one to simulate mute
[05:24:12 CEST] <Spring> yup, volume=0 works fine, nice!
[06:50:42 CEST] <antiPoP> how can I add a watermark proportional to the video dimensions (which are variable)?
[08:19:33 CEST] <wallbroken> how to set preset in ffmpeg?
[09:14:38 CEST] <Spring> wow, I'm stunned at how low the bitrate can go with a high CRF yet still be far higher quality than higher max bitrates
[09:16:01 CEST] <Spring> most examples I've seen of vpx set some max bitrate on any given crf but after numerous tests going as high as CRF 35 on a mostly still produces superb results
[09:16:18 CEST] <Spring> *still scenes.
[12:34:35 CEST] <jookiyaya> would i see improvement in upgrading from 1333mhz ddr3 to  2133mhz ddr3
[12:36:42 CEST] <DHE> if you're bottlenecked on memory, yes. tools like perf can help measure that
[12:38:13 CEST] <jookiyaya> perf?
[12:38:52 CEST] <DHE> it's a linux tool that ships with the kernel. tons of benchmarking features using x86-specific features
[12:39:54 CEST] <jookiyaya> i am using windows
[12:42:54 CEST] <Spring> can someone take a squiz at this output and see if there's something odd, as the output size and bitrate is identical whether I set the max bitrate to 1M or 10M. http://pastebin.com/06LY91Wz
[12:43:32 CEST] <jkqxz> jookiyaya:  Not many processors run DDR3 above 1600MT/s (some 1866MT/s) by default.  You would need to have an overclockable chipset to see any value from 2133MT/s DDR3 over slower types.
[12:44:11 CEST] <Spring> there aren't any errors but the bitrate doesn't make sense
[12:44:31 CEST] <jookiyaya> jkqxz i see; do you know anything about this bottleneck app
[12:46:13 CEST] <jookiyaya> dhe wouldn't that app only show bottleneck if ram is running out
[12:47:14 CEST] <Spring> I should mention the bitrate in the output is 20-21Mbps
[12:47:14 CEST] <jkqxz> Spring:  Maybe you're permanently hitting qmax?
[12:48:34 CEST] <Spring> jkqxz, could you explain a little?
[12:50:13 CEST] <jookiyaya> jkqxz  even if i have 2133MT ram,   if i use 2133MT setting, it's still called overclocking?
[12:51:10 CEST] <jkqxz> Spring:  qmax sets an upper bound on the quantisation level - if you set it low with a low bitrate target then you may just end up encoding all frames at the bound as the target can't be met at all.  Try increasing it.
[12:52:14 CEST] <jkqxz> jookiyaya:  Yes.  (You would be overclocking the memory controller, not the memory itself.)
[12:52:29 CEST] <jookiyaya> jkqxz i see
[12:55:17 CEST] <Spring> jkqxz, hmm. Didn't realize that would occur, expected the max bitrate cap to take precedence. Raised the qmax and am within the desired bitrate, though quality obviously took a hit.
[12:58:45 CEST] <jkqxz> qmax is probably something you should only set in weird cases (you absolutely require some minimum quality level and are prepared to violate the bitrate constraints to achieve that).
[14:28:34 CEST] <pagios> hello
[14:28:36 CEST] <pagios> <pagios>  File is missing 'moov' atom can i reencoder this mp4?
[14:28:36 CEST] <pagios> <pagios> hello
[14:28:36 CEST] <pagios> * georgios has quit (Ping timeout: 240 seconds)
[14:28:36 CEST] <pagios> <pagios> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1983b20] Could not find codec parameters (Video: h264, 480x640)
[14:28:36 CEST] <pagios> <pagios> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1983b20] Could not find codec parameters (Audio: aac, 44100 Hz, stereo, s16)
[14:28:38 CEST] <pagios> <pagios> how can i resolve this
[14:29:56 CEST] <durandal_1707> was already asked before, see irc logs
[14:30:25 CEST] <pagios> wherE?>
[14:30:53 CEST] <durandal_1707> ffmpeg web page
[14:35:40 CEST] <Spring> qmax really has the final say, doesn't it. Tested a CRF 35 with -b:v 0 (to enable CRF in vp9) and qmax 35. Very high quality output at 15.3MB.
[14:36:06 CEST] <Spring> Next I tested CRF 33 with -b:v 20M, qmax 40. Worse quality, 27.9MB.
[14:36:29 CEST] <durandal_1707> pagios: untrunc something
[14:39:47 CEST] <Spring> wish there were a more consistent quality across the same settings. Since I get better quality on other clips using the latter settings.
[14:39:59 CEST] <kepstin> Spring: yep, it pretty much works like: CRF says "hmm, this only needs around qp 37 to hit this quality" then qmax comes along and goes "oh no you don't, qp 35 it is!"
[14:41:00 CEST] <kepstin> Spring: for most cases, you should be adjusting only crf to control quality and not setting qmax/qmin at all...
[14:44:11 CEST] <pagios> durandal_1707, cant find
[14:44:17 CEST] <pagios> can that moov be recovered?
[14:45:07 CEST] <kepstin> pagios: in general no, but iirc there's a couple services around that try to guess the encoder used on the original video and make up a moov that might work.
[14:45:31 CEST] <Spring> last time I encountered a bad moov atom error I used Mp4box which fixed it
[14:45:46 CEST] <pagios> worked on linux?
[14:46:05 CEST] <Spring> not sure if Mp4box is on nix
[14:46:09 CEST] <bencoh> it is
[14:46:10 CEST] <pagios> i am running headless
[14:46:36 CEST] <bencoh> https://gpac.wp.mines-telecom.fr/mp4box/
[14:46:55 CEST] <Spring> in my case the command I found was: MP4Box -add fixed.mp4 -isma sample.mp4
[14:47:14 CEST] <Spring> however yours may be a different error
[14:48:00 CEST] <pagios> its weird coz it was a recorded livestream
[14:48:23 CEST] <soulshock> which SDI cards do ffmpeg support? any other than Blackmagic DecLink?
[14:49:21 CEST] <kepstin> pagios: recorded how? if you were converting it to mp4 locally, maybe your encoder was killed before it had a chance to write the moov at the end of the file?
[14:50:06 CEST] <BtbN> ffmpeg supports everything that has a propper driver.
[14:50:59 CEST] <kepstin> if it works with v4l (linux) or dshow (windows), ffmpeg should be able to use it. decklink is kind of a special case because they use their own special apis.
[14:52:17 CEST] <BtbN> Doesn't Mageware have SDI capture cards?
[14:52:29 CEST] <BtbN> *Magewell
[14:52:48 CEST] <BtbN> Yeah, they do: http://www.magewell.com/usb-capture-sdi
[14:54:18 CEST] <kepstin> heh, that's just a usb video class (uvc) device, it doesn't even need a special driver
[14:54:43 CEST] <bencoh> the question is which timestamp does it returns ...
[14:55:03 CEST] <bencoh> -s
[14:56:09 CEST] <BtbN> kepstin, are you sure? They have a special kernel module that advertises v4l2+alsa support.
[14:56:48 CEST] <kepstin> BtbN: i suspect they have a special driver that allows controlling some of the advanced features, but they also list uvc support
[14:56:58 CEST] <Spring> kepstin, I find the problem is that using CRF is unpredictable with filesizes. Looking at the settings above I find it strange how lowering the CRF and raising the qmax yet keeping the max bitrate made the filesize almost twice as large and worse quality.
[14:57:24 CEST] <bencoh> Spring: pretty simple though
[14:57:27 CEST] <kepstin> Spring: crf is intentionally unpredictable with filesizes.
[14:57:32 CEST] <BtbN> kepstin, that would be quite interesting. Does UVC support audio?
[14:57:49 CEST] <kepstin> BtbN: most uvc webcams i've seen have built-in mics, so I assume so
[14:58:02 CEST] <BtbN> well, but they use a seperate driver for that?
[14:58:32 CEST] <furq> Spring: is that actually a problem
[14:58:33 CEST] <Spring> basically I get settings right on one clip only find they need tweaking in the next, yet they both have such little movement.
[14:58:38 CEST] <kepstin> Spring: if you want predictable filesize, use a 2-pass bitrate encode. if you want constant quality, and have the encoder use as many bits as needed for that, use crf without max bitrate or qmax.
[14:58:40 CEST] <BtbN> Also, http://www.magewell.com/usb-capture-sdi/tech-specs says it's v4l2, not uvc
[14:59:00 CEST] <BtbN> hm, but i guess the uvc driver exposes it via v4l2
[14:59:08 CEST] <furq> the assumption behind crf is that filesize doesn't usually matter
[14:59:12 CEST] <bencoh> BtbN: yup
[14:59:14 CEST] <kepstin> BtbN: 'v4l2' is the linux video api. 'uvc' is the usb standard for how to transmit video over usb.
[14:59:23 CEST] <BtbN> That's actually quite nice then.
[14:59:25 CEST] <furq> and that it's generally a bad way of specifying quality, which is what was standard back in the bad old days of xvid
[14:59:30 CEST] <BtbN> The HDMI USB card works in the same way.
[14:59:30 CEST] <kepstin> BtbN: the linux kernel comes with a v4l2 driver that supports uvc devices
[15:00:42 CEST] <Spring> reasons for needing a certain filesize: file host limits, reasons for needing quality: people who will be viewing the clips critically. Trying to find some sweet spot basically.
[15:00:50 CEST] <bencoh> Spring: you lowered crf and increased qmax, which basically means that "complex" scenes will take more space, while "simple" ones will be "optimized out" (ie encoded with less bits)
[15:01:05 CEST] <kepstin> Spring: if you want the max quality for a given filesize, do a 2-pass vbr encode
[15:01:08 CEST] <Spring> but it was worse quality
[15:01:18 CEST] <bencoh> Spring: perceptually
[15:01:37 CEST] <Spring> all my encodes are two pass fwiw
[15:01:42 CEST] <Spring> in vpx
[15:02:10 CEST] <kepstin> sure, but if you want max quality for a given filesize, don't use crf. just let the vbr ratecontrol handle it
[15:02:35 CEST] <kepstin> if you're encoding to a max filesize, using crf will only ever reduce quality.
[15:03:24 CEST] <kepstin> with libvpx using crf and maxbitrate, the purpose of crf is to set a "max quality" and then make the file smaller if using the full bitrate would cause the quality to be too high
[15:03:44 CEST] <Spring> the thing is that I've tried setting for eg: a 10M cap and it wasn't the best quality for the filesize.
[15:04:07 CEST] <Spring> if it was I'd be content
[15:05:00 CEST] <kepstin> well, if doing a 2-pass encode with libvpx with '-b:v 10M' and no qrf or qp related options doesn't provide best quality for the given file size, then that's a bug in libvpx
[15:05:40 CEST] <kepstin> i honestly wouldn't be surprised, libvpx is mostly developed for realtime streaming by google nowadays, so they probably haven't put much attention into that :/
[15:08:23 CEST] <kepstin> btw, how are you determining that "it wasn't the best quality"? measuring with ssim or something, or just looking at the video?
[15:09:21 CEST] <Spring> taking a PNG frame capture using ffmpeg at the exact timestamp of each encode, then brightening them all in Photoshop using overlaid adjustment curves to bring out the details.
[15:09:37 CEST] <kepstin> well, that's about the worst possible way to do that :/
[15:10:00 CEST] <Spring> what's the problem?
[15:10:08 CEST] <kepstin> the psy optimizations in the codec explicitly try not to save details that aren't visible to the human eye
[15:10:49 CEST] <Spring> the artifacts are visible though, it's quite noticeable, the curves just make it easier to compare.
[15:10:52 CEST] <kepstin> so brightening them and using adjustment curves is rather counter to the goals of the codec; you're just comparing meaningless background noise patterns
[15:11:33 CEST] <Spring> I should also mention again these are all nearly static scenes, so details will be stared at
[15:11:45 CEST] <Spring> fixed camera, little movement
[15:11:45 CEST] <kepstin> and comparing sill frames by eye doesn't work well, since the psy optimizations usually make use of the eye's motion sensitivity, and comparing particular still frames will have variations depending on keyframe positioning etc
[15:18:14 CEST] <kepstin> If you want to compare video frames with brightness or contrast adjustments, do them before encoding :-)
[15:23:33 CEST] <Spring> like for example from one clip: -b:v 10M = 43.5 MB (no crf or qmin/max) vs -crf 35 -b:v 0 qmax 35 = 15.7MB. The latter is marginally better quality than the former.
[16:16:56 CEST] <kepstin> Spring: in one scene perhaps. The vbr encode tries to distribute bitrate over the entire file so that it looks roughly constant quality, while the qmax setting will cause some scenes to be better quality at the expense of others.
[16:17:41 CEST] <kepstin> but yeah, that's an awfully big difference in file size. I suspect there's some issues in libvpx's 2-pass ratecontrol :/
[16:18:02 CEST] <kepstin> assuming the quality on the second file is comparable to the first
[16:22:19 CEST] <Spring> yeah, the quality on the second is exceptional. Problem is it's inconsistent, so
[16:24:46 CEST] <Spring> one clip will be 15.7MB another 30MB. And on the 30MB clip a different setting works better. So it's kind of frustrating finding some middle ground.
[16:25:27 CEST] <Spring> especially where foliage is involved, since compression is highly noticeable
[17:04:29 CEST] <moparisthebest> I need to capture a stream to the filesystem and at the same time stream it via http to possibly multiple clients, it looks like ffserver can do the streaming, but it writes an .ffm to disk too?
[17:05:09 CEST] <moparisthebest> what I want to avoid is writing the .ffm to disk and also curl'ing or whatever the stream to the same disk, is there any way to do that?
[17:05:17 CEST] <moparisthebest> or maybe I'm using the wrong tools or something? not sure
[17:09:51 CEST] <kepstin> Spring: the quality on the second is inconsistent *because* you are using qmax. If instead of using qmax you simply decreased crf, the quality should be more consistent (and of course the file larger, since consistently good quality needs more bits)
[17:47:06 CEST] <DHE> moparisthebest: HTTP-based serving is usually done with something like MPEG-DASH or HLS for live streams. ffserver is on the chopping block and should be avoided if at all possible
[17:50:29 CEST] <moparisthebest> DHE: ah thanks, yea I plan to keep this system for years so I don't want to base it on something soon-to-be-killed :)
[17:51:08 CEST] <DHE> if at all possible, I think you're best off using a standard HTTP server (apache, nginx, whatever) and have ffmpeg operate in the serving directory running the protocol of your choosing.
[17:52:33 CEST] <moparisthebest> so what I've got is an computer with a camera I want to do all the encoding on and a wifi link to the main server with storage disks
[17:52:53 CEST] <moparisthebest> since the wifi link is slow, I don't want to serve multiple clients over that, I want to serve multiple clients from the main server, but not have it transcode anything...
[17:52:57 CEST] <furq> if you want to be able to send the stream to a remote server then use ffmpeg on the client and nginx-rtmp on the server
[17:54:00 CEST] <furq> you can set it up to serve hls or dash and save local copies
[17:54:57 CEST] <moparisthebest> nginx is what I already use on that server so that sounds like a good option
[17:55:15 CEST] <furq> you'll need to recompile it for the rtmp module
[17:55:43 CEST] <furq> i prefer to have a separate binary for that
[17:55:50 CEST] <moparisthebest> doesn't nginx do dynamic modules now? or recompiling is fine meh
[17:55:57 CEST] <furq> maybe
[17:56:00 CEST] <furq> it's been a while since i touched it
[17:56:11 CEST] <moparisthebest> I haven't tried but I read that someplace
[17:58:18 CEST] <DHE> 1.9.x does have dynamic modules, for some value of x.
[17:58:38 CEST] <DHE> x=11
[17:58:50 CEST] <furq> the latest commit on the rtmp module is "fixed rtmp as a dynamic module"
[17:58:52 CEST] <moparisthebest> hmm but hls/mpeg-dash looks like I'll have to transcode on the server running nginx right?
[17:58:53 CEST] <furq> so that looks promising
[17:59:05 CEST] <furq> and no, flv to hls/dash is just remuxing
[17:59:40 CEST] <DHE> moparisthebest: no, but you'll have to output to hls/mpeg-dash compatible codecs
[17:59:52 CEST] <moparisthebest> is h264 one? that's all I can do :/
[17:59:56 CEST] <furq> rtmp only really supports h264 and aac anyway
[18:00:01 CEST] <furq> all the other usable codecs are trash
[18:00:02 CEST] <moparisthebest> ah good
[18:00:30 CEST] <DHE> those are the only codecs officially permitted by HLS as well
[18:00:38 CEST] <furq> yeah
[18:01:10 CEST] <furq> if you don't need web browser support (without flash) then rtmp itself is the best choice
[18:01:32 CEST] <furq> hls and dash aren't exactly great
[18:02:13 CEST] <moparisthebest> I want 1) record to filesystem in whatever format 2) view in html5 browsers with no flash, so phones work and stuff
[18:02:22 CEST] <furq> yeah you can do that
[18:02:33 CEST] <furq> with hls or dash, that is
[18:02:37 CEST] <moparisthebest> I'm basically rolling my own security camera system since all the pre-built stuff is crap security-wise
[18:03:01 CEST] <moparisthebest> the 'camera' is a raspberry pi 3 hehe, about $100 each with everything needed
[18:03:10 CEST] <furq> hls/dash have got pretty high latency
[18:03:29 CEST] <furq> i'm not sure how low you can get it with short segments
[18:03:59 CEST] <furq> it's at least one and practically usually 2-3 segments of latency with hls, which is normally 10-30 seconds
[18:04:09 CEST] <furq> idk how usable it'll be with one-second segments
[18:06:00 CEST] <moparisthebest> hmm yea I was hoping for ~4 seconds or so
[18:06:05 CEST] <moparisthebest> on the lan anyway
[18:08:42 CEST] <furq> even if you serve hls you can still view the stream over rtmp if you need solid latency
[18:08:51 CEST] <furq> but yeah that needs flash or a real video player
[18:09:21 CEST] <moparisthebest> yea maybe I use a real player on the monitor screen I plan on setting up
[18:09:30 CEST] <moparisthebest> and if I'm looking at it on a phone or over the internet, latency is fine
[18:15:19 CEST] <Mysoft> does libav have options to skip frames?
[18:16:19 CEST] <Mysoft> i think that is more codec specific... but i wonder if anyone knows
[18:17:15 CEST] <Mysoft> that when skipping frames on x264 the codec will keep track of interframe blocks
[18:17:32 CEST] <Mysoft> so that only the required chain of blocks will be required
[18:18:15 CEST] <Mysoft> or if i must do that using some lower level operations? :)
[18:21:44 CEST] <bencoh> Mysoft: it does
[18:22:22 CEST] <bencoh> but depending on what you're looking for it might not be "enough" for you
[18:23:24 CEST] <Mysoft> just wanted to avoid decoding unecessary blocks when skipping frames yeah :)
[18:23:26 CEST] <bencoh> when I selecting I frames only (or IDR? dont remember) it happened to us that we didnt receive any keyframes for some streams, because there were no IDR
[18:23:49 CEST] <bencoh> (that's something we played with over 2 years ago, so I dont remember every details)
[18:23:52 CEST] <bencoh> -s
[18:24:47 CEST] <Mysoft> i  see... i will be using it to show a video preview of what would be passed to other devices (from my accelerated stream SERVER)
[18:25:35 CEST] <bencoh> yeah I suspected that :)
[18:26:07 CEST] <bencoh> (here it was to display thumbnails for previews ... like what you can get on *tube players)
[18:26:24 CEST] <Mysoft> i see yeah :)
[18:26:34 CEST] <Mysoft> i found nice that "PotPlayer" had this option too
[18:26:45 CEST] <Mysoft> first time i see a lightweight player on windows with such support
[18:26:45 CEST] <Mysoft> hehe
[18:27:01 CEST] <bencoh> so yeah depending on which frames you drop you might not get expected result on some streams
[18:27:29 CEST] <Mysoft> i'm also not using swscale because even as fallback it's too slow
[18:27:38 CEST] <Mysoft> i.e. compared to a jitted sw scaler :)
[18:28:58 CEST] <Mysoft> because when you will use a scaler like that (that you always have the same input/output size) (or that it rarely changes)
[18:29:11 CEST] <Mysoft> creating dynamic code that will hardcode the math for the scale speed up it considerable
[18:29:29 CEST] <Mysoft> altough you have to implement it for each platform
[18:29:43 CEST] <Mysoft> so i'm putting some considerable effort to make this as nice as possible :]
[18:30:44 CEST] <bencoh> Mysoft: hmm ... doesn't swscaler already have some kind of JIT?
[18:35:19 CEST] <bencoh> hmm maybe not, nevermind
[18:36:51 CEST] <drv> there is a tiny amount of runtime generated code in swscale (see lumMmxextFilterCode/chrMmxextFilterCode)
[18:48:11 CEST] <moparisthebest> can I set the quality value for -c:v h264_omx some way? or does it only support a static framerate ?
[18:50:11 CEST] <moparisthebest> or, where would I find that kind of info? ffmpeg --help full didn't really show me anything of help I think
[18:53:46 CEST] <furq> -h encoder=h264_omx
[18:53:50 CEST] <furq> although that doesn't contain anything useful
[18:54:05 CEST] <furq> it looks like the only quality-related param you can change is the bitrate
[19:12:46 CEST] <the_gamer> how to convert this? http://www.pasteall.org/73860 it plays in vlv and mpv, how to convert it with ffmpeg?
[19:14:08 CEST] <Mysoft> the_gamer you have option to specify INPUT format
[19:14:19 CEST] <Mysoft> like the input sample rate... and etc...
[19:14:24 CEST] <Mysoft> that are invalid on that .avi header
[19:16:22 CEST] <the_gamer> Mysoft, could you give me the syntax to do this?
[19:21:31 CEST] <the_gamer> ffmpeg -c:v avrn -an -i PICT0001.AVI -vf scale=640:480 -an katze.mpg
[19:21:35 CEST] <the_gamer> still the same
[19:21:49 CEST] <the_gamer> giving the codec and telling it to ignore the audio doesn't work
[19:22:43 CEST] <the_gamer> would be happy for any hint
[19:28:45 CEST] <Mysoft> tried -ar before -i ?
[19:29:05 CEST] <Mysoft> or -r:a whatever :P
[19:29:57 CEST] <the_gamer> ffmpeg -c:v avrn -ar 22050 -r:v 30 -i PICT0001.AVI -vf scale=640:480 -an katze.mpg
[19:30:06 CEST] <the_gamer> still throws invalid sample rate: 0
[19:30:21 CEST] <the_gamer> but i don't even want audio! i gave -an
[19:30:33 CEST] <Mysoft> well it has to parses the header
[19:30:35 CEST] <Mysoft> if the header is invalid
[19:30:40 CEST] <Mysoft> is likely it's garbage
[19:30:48 CEST] <Mysoft> so it stops before it goes even worse
[19:31:02 CEST] <Mysoft> as if the header is too invalid... it wouldnt be able to get the video either
[19:31:09 CEST] <the_gamer> video is playable with mplayer and i want to correct it so that it works everywhere. thought ffmpeg could do it?
[19:31:25 CEST] <Mysoft> maybe if you increase the loglevel
[19:31:34 CEST] <the_gamer> ffmpeg doesn't seem to get the video but i want the video only
[19:31:37 CEST] <Mysoft> it would help.. but i never tried that level of correctness with ffmpeg :)
[19:33:59 CEST] <the_gamer> http://www.pasteall.org/73866
[19:34:56 CEST] <the_gamer> doesn't look more helpful to me
[19:35:56 CEST] <Mysoft> hum...
[19:36:06 CEST] <Mysoft> on the full help... there's the av lib options
[19:36:15 CEST] <Mysoft> maybe there is something to deal with such errors
[19:38:39 CEST] <Mysoft> maybe...
[19:38:50 CEST] <Mysoft>  -err_detect ignore_err
[19:43:05 CEST] <the_gamer> nope
[19:46:33 CEST] <Mysoft> you know that is weird...
[19:47:11 CEST] <Mysoft> everytime i see that error on google
[19:47:14 CEST] <Mysoft> it's like "Invalid sample rate 0, using input rate 48000"
[19:47:48 CEST] <Mysoft> and -ar was suppose to have fixed that
[19:48:18 CEST] <Mysoft> the_gamer can i get a sample rate
[19:48:20 CEST] <Mysoft> so i can test here?
[19:48:30 CEST] <Mysoft> *get a sample video
[19:48:32 CEST] <the_gamer> mencoder can do it!
[19:48:40 CEST] <the_gamer> i don't get ffmpeg to fix it
[19:49:06 CEST] <the_gamer> wait a second, you can
[20:27:03 CEST] <eemgr> How would I go about converting a .mp4 or .mov to a .swf with the highest quality?
[20:28:06 CEST] <Mysoft> i think .swf is just a container for a flash plugin that contains a vp9 stream?
[20:28:19 CEST] <kepstin> well, usually h264 video nowadays
[20:28:37 CEST] <furq> it was never vp9 was it
[20:28:47 CEST] <Mysoft> .flv is vp9
[20:28:55 CEST] <Mysoft> and is the most common format on .swf built-in stuff
[20:28:57 CEST] <Mysoft> as far i know
[20:28:59 CEST] <kepstin> but yeah, it's an adobe flash file that optionally contains embedded video and or audio streams
[20:29:03 CEST] <kepstin> Mysoft: you mean vp6?
[20:29:10 CEST] <Mysoft> hu
[20:29:11 CEST] <furq> yeah
[20:29:12 CEST] <Mysoft> lol yes :P
[20:29:50 CEST] <Mysoft> but with a h264 embedded on the swf... odds is that you can just copy the video as is
[20:29:53 CEST] <kepstin> like, I think you have to have some flash code (actionscript?) in a swf to act as a player, it's not just a video format on its own
[20:30:03 CEST] <furq> although ffmpeg defaults to spark/flv1
[20:30:15 CEST] <Mysoft> well yes the swf is the player
[20:30:16 CEST] <kepstin> but yeah, assuming your mp4/mov is h264 you can probably just use the video as-is
[20:30:18 CEST] <Mysoft> with the stream builtin :P
[20:30:27 CEST] <eemgr> it converst just fine with your typical ffmpeg -i in.mov out.swf
[20:30:31 CEST] <furq> ffmpeg has an swf muxer so hopefully that does the right thing
[20:30:44 CEST] <eemgr> but ideally i'd obtain a higher quality, it appears to be really degraded after the conversion
[20:30:45 CEST] <furq> eemgr: if it's a mov then you can probably just copy the source streams
[20:30:48 CEST] <Mysoft> -acodec copy -vcodec copy
[20:30:49 CEST] <Mysoft> :]
[20:30:51 CEST] <furq> add -c copy before out.swf
[20:31:01 CEST] <kepstin> i wonder if ffmpeg's 'swf' muxer maybe just makes a flv file
[20:31:08 CEST] <eemgr> i'll give it a shot, one min
[20:32:33 CEST] <eemgr> hmm
[20:33:48 CEST] <eemgr> "Output file #0 does not contain any stream" from
[20:33:49 CEST] <eemgr> ffmpeg Stopmotion_end_slides_500x500_FA.mov -acodec copy -vcodec copy out.swf
[20:34:04 CEST] <eemgr> sure
[20:34:28 CEST] <kepstin> that 'does not contain any stream' message usually means that some message printed earlier explains /why/ there's no stream
[20:34:29 CEST] <eemgr> https://gist.github.com/Michels10/cd0173652ba2f029a6091d35513b7c32
[20:34:31 CEST] <the_gamer> Mysoft, here you are, sorry for the delay https://drive.google.com/file/d/0B2OzieSeNyaYLTd3eWVndjBVY3M/view?usp=sharing
[20:34:59 CEST] <furq> where's the rest of the output
[20:35:00 CEST] <kepstin> eemgr: you forgot to put a -i before your input file
[20:35:04 CEST] <furq> oh
[20:35:04 CEST] <eemgr> oops
[20:35:06 CEST] <furq> that's whewre
[20:35:27 CEST] <blindwolf> Evening
[20:35:30 CEST] <Mysoft> the_gamer ouch 149mb sample :P
[20:35:42 CEST] <eemgr> https://gist.github.com/Michels10/cd0173652ba2f029a6091d35513b7c32
[20:35:54 CEST] <kepstin> "SWF muxer only supports VP6, FLV1 and MJPEG" fun
[20:36:00 CEST] <furq> nice
[20:36:02 CEST] <eemgr> hm
[20:36:05 CEST] <kepstin> you're probably better off using the flv muxer
[20:36:08 CEST] <the_gamer> Mysoft, i would make it smaller& but mencoder only does the first picture as i have seen& and i can't cut it without fixing it :(
[20:36:17 CEST] <kepstin> and then using external tools to embed the file into a player swf
[20:36:21 CEST] <furq> well at least now we know it isn't just creating an flv
[20:36:35 CEST] <Mysoft> the_gamer you could just used a hexeditor to kill it
[20:36:43 CEST] <Mysoft> but yeah if there's headers at the end it would be a problem :P
[20:36:48 CEST] <Mysoft> no problem :)
[20:36:54 CEST] <kepstin> or if you're using an external flash player, it can probably just play your original mp4 file with no changes...
[20:37:00 CEST] <bencoh> yeah it's really swf, not some flv variant
[20:37:12 CEST] <eemgr> i've got an flv of the vid as well
[20:37:50 CEST] <bencoh> I wonder if it plays properly with gnash :]
[20:38:15 CEST] <kepstin> looks like it's using the old flash version, so probably would work with gnash, yeah
[20:38:19 CEST] <the_gamer> Mysoft, please tell me when you have it so i can delete it
[20:39:11 CEST] <eemgr> ffmpeg -i in.mov -acodec mp3 -vcodec flv1 out.swf worked but again with mediocre quality
[20:39:45 CEST] <the_gamer> -qscale 0?
[20:39:57 CEST] <eemgr> is that the default?
[20:40:40 CEST] <kepstin> eemgr: the flv1/mp3 codecs are the default when using swf output
[20:41:00 CEST] <eemgr> ah, i see
[20:41:17 CEST] <kepstin> but yeah,  you're probably better off not using it. With the old codecs supported, you're gonna get pretty big files for decent looking output
[20:42:37 CEST] <eemgr> qscale 0 provided an acceptable quality, actually
[20:42:52 CEST] <eemgr> just need to get it to around 2.2mb
[20:42:58 CEST] <eemgr> is that the -b option?
[20:46:07 CEST] <Mysoft> got it the_gamer
[20:46:15 CEST] <the_gamer> thank you
[20:47:27 CEST] <Mysoft> lol even windows media player 6
[20:47:34 CEST] <Mysoft> can play that video
[20:47:41 CEST] <Mysoft> really weird that ffmpeg is struggling with it
[20:49:59 CEST] <the_gamer> Mysoft, i got many of those, the cat's camera always does that format so i would love to know how to deal with it
[20:50:07 CEST] <eemgr> thanks for all of your help guys
[20:50:13 CEST] <the_gamer> if ffmpeg can't do it i have to use mencoder. better than nothing
[20:50:18 CEST] <Mysoft> the_gamer yeah let's see what's wrong :)
[21:01:46 CEST] <durandal_170> the_gamer: report issue to bug tracker
[21:08:05 CEST] <Mysoft> :]
[21:08:12 CEST] <Mysoft> got it
[21:08:18 CEST] <Mysoft> let's see if it will generate valid output
[21:10:10 CEST] <the_gamer> durandal_170, did it& site loads forever atm
[21:11:18 CEST] <the_gamer> Mysoft, i am curious about more information :)
[21:11:32 CEST] <Mysoft> ffmpeg -f mjpeg -an -i PICT0001.AVI output.mp4
[21:11:58 CEST] <Mysoft> or
[21:12:18 CEST] <the_gamer> durandal_170, i get 530, tracker seems to be down now?
[21:12:24 CEST] <Mysoft> ffmpeg -f mjpeg -an -i PICT0001.AVI -vcodec copy output.avi
[21:12:25 CEST] <the_gamer> 503 sorry
[21:12:34 CEST] <Mysoft> to just fix the .avi container
[21:14:06 CEST] <bencoh> what does "file" says on this "avi", btw?
[21:15:00 CEST] <the_gamer> PICT0001.AVI: RIFF (little-endian) data, AVI, 640 x 480, 30.00 fps, video: Motion JPEG, audio: 0 Hz)
[21:16:04 CEST] <the_gamer> ticket is created: https://trac.ffmpeg.org/ticket/5770#ticket
[21:16:22 CEST] <bencoh> then -f mjpeg wont work. -c:v mjpeg, maybe
[21:16:25 CEST] <bencoh> (before -i)
[21:16:26 CEST] <durandal_170> you created 4 tickets
[21:16:51 CEST] <Mysoft> bencoh it just did
[21:16:59 CEST] <bencoh> ?
[21:17:04 CEST] <the_gamer> durandal_170, oh, that was the error i guess& let me see if i can delete 3
[21:17:12 CEST] <Mysoft> ffmpeg -f mjpeg -an -i PICT0001.AVI -vcodec copy output.avi
[21:17:17 CEST] <Mysoft> ^ i actually tried that
[21:17:19 CEST] <Mysoft> before pasting it here
[21:17:36 CEST] <bencoh> -f mjpeg works on an AVI file?
[21:17:37 CEST] <bencoh> wtf
[21:17:46 CEST] <Mysoft> well i assume it may be like mp3
[21:17:53 CEST] <bencoh> huh?
[21:18:00 CEST] <durandal_170> can work if there is parser
[21:18:14 CEST] <Mysoft> where it will just look for the tag
[21:18:25 CEST] <Mysoft> so you can have garbage at the end of a .mp3 file
[21:18:29 CEST] <Mysoft> but all players will play just fine
[21:18:31 CEST] <bencoh> ah
[21:18:34 CEST] <Mysoft> *at the START
[21:18:42 CEST] <durandal_170> the_gamer:stop creating new tickets
[21:19:02 CEST] <bencoh> if mjpeg data is stored in a single RIFF chunk, maybe
[21:19:29 CEST] <Mysoft> yeah digital cameras
[21:19:32 CEST] <Mysoft> tend to do that :P
[21:19:40 CEST] <the_gamer> durandal_170, i am closing atm
[21:19:42 CEST] <Mysoft> they just issue an almost fixed broken header
[21:19:47 CEST] <Mysoft> and then spam jpegs :P
[21:20:17 CEST] <the_gamer> durandal_170, got 503, don't know if something was wrong with my connection/browser or the server
[21:20:27 CEST] <the_gamer> durandal_170, was not on purpose, i am sorry
[21:20:49 CEST] <durandal_170>  np
[21:21:26 CEST] <the_gamer> only got them to close, can't see a way to delete them :(
[21:21:49 CEST] <bencoh> that was taken care of already :)
[21:22:16 CEST] <the_gamer> bencoh, my duplicate tickets?
[21:22:20 CEST] <bencoh> ah, nevermind
[21:22:21 CEST] <Mysoft> so bencoh i assume mjpeg will just look for the jpeg header
[21:22:24 CEST] <Mysoft> for every frame :)
[21:22:36 CEST] <Mysoft> just like mp3 do for each audio frame
[21:23:18 CEST] <the_gamer> Mysoft, works, thank you
[21:23:18 CEST] <durandal_170> mp3 is bad example
[21:23:27 CEST] <Mysoft> why?
[21:23:31 CEST] <Mysoft> they are both mpeg O_o
[21:24:12 CEST] <durandal_170> it does not separate frames like jpeg..
[21:24:19 CEST] <Mysoft> yes it does
[21:24:35 CEST] <Mysoft> mp3 is split in "audio frames"
[21:26:18 CEST] <Mysoft> that's how a .mpg file does it's audio...
[21:26:27 CEST] <Mysoft> altough .mpg unlike mjpeg has intraframes :P
[21:27:04 CEST] <durandal_170> compare mjpeg parser code with mp3 one
[21:30:57 CEST] <Mysoft> heh well i don't know about how specifically ffmpeg does it but
[21:31:29 CEST] <Mysoft> "An MP3 file is made up of MP3 frames, which consist of a header and a data block. This sequence of frames is called an elementary stream. "
[21:31:31 CEST] <Mysoft> "Motion JPEG (M-JPEG or MJPEG) is a video compression format in which each video frame or interlaced field of a digital video sequence is compressed separately as a JPEG image."
[21:31:37 CEST] <Mysoft> to me that means they follow the same idea
[21:32:23 CEST] <durandal_170> yes....
[00:00:00 CEST] --- Thu Aug 11 2016


More information about the Ffmpeg-devel-irc mailing list