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

burek burek021 at gmail.com
Wed Nov 14 16:41:39 CET 2012


[00:16] <diegoviola> puff: i'm not an expert with ffmpeg but your DVD is in vob files right?
[00:18] <diegoviola> puff: there are some examples in ffmpeg man page that explains how to encode vob files to another format/codec, etc
[00:18] <diegoviola> puff: perhaps you could do that and tweak the audio in the encoding
[00:18] <diegoviola> sorry i'm being a bit vague here
[01:33] <Mattias> So, half a year ago I could stream to twitch.tv (justin.tv) using ffmpeg and x264. I tried using the same script I used back then but it fails with ffmpeg segfaulting, here is the script: http://sprunge.us/FWCb  The non-commented code, I've added -qscale, -b and -itsoffset today, didn't help anything though... What could be wrong with it? x264 is version 0.124.x
[01:34] <Mattias> I'm on Arch linux fully up to date, if that matters
[01:34] <Mattias> One interesting note, is when I removed anything that has to do with sound, it manages not to segfault but, I just get a black screen on twitch.tv instead
[04:23] <hyun> hi
[04:24] <hyun> I was wondering if there is jpeg rtp encoder in the source
[05:49] <Shootfast> Hi, Anyone have experience encoding .movs in DNxHD and importing to Avid? I can't get ffmpeg to match the output from quicktime, Things like color ranges and colorspaces seem off.
[06:54] <hendry> hmm, i'm getting ALSA buffer xrun. and my sound recordings with my video captures get distorted :/
[07:41] <elkng> can I make gif out of images ?
[07:41] <ubitux> yes, but not in an optimal way
[07:41] <ubitux> encoder is intra only afaik
[07:42] <elkng> "intra" ?
[07:42] <ubitux> yes, basically it doesn't use the previous frame, and generate a complete new one each time
[07:42] <ubitux> so the gif gets huge pretty quick
[08:00] <elkng> why its "intra only", are other technologyes patented ?
[08:42] <ubitux> elkng: they were, i don't think they are anymore
[09:47] <FranKi3> hello
[09:48] <FranKi3> is anybody there?
[09:49] <ubitux> we are all hiding in the dark
[09:50] <FranKi3> :)
[09:53] <FranKi3> hi guys, I'm trying to set up a rtsp proxy cache using ffmpeg and apache traffic server. I'm looking for some information about ffserver and ffplay
[09:55] <FranKi3> what i want to do is integrate ffserver and ffplay because i want to act as a server for the client that will make some request and act as a player for the remote server
[09:58] <FranKi3> I want to modify the ffserver code and ffplay code in order to communicate with the cache. So for ffserver what i want to do is modify the streaming part since i want to stream what is present in the cache. Is there any developer that knows the ffserver project in order to tell me which part of the project i have to concentrate on?
[09:59] <FranKi3> I would be very pleased if anybody can tell me something
[10:24] <ubitux> i'm not sure how you're going to solve anything with ffplay
[10:25] <ubitux> you likely just want a ffmpeg with -re option
[10:28] <FranKi3> hi ubitux what i want is deviate the flow and stream the cache content
[10:29] <FranKi3> i think i have to change some part in the code
[10:34] <ubitux> i don't understand what you really are trying to do actually
[10:36] <FranKi3> What i want to do is build a plugin for apache traffic server. Apache traffic server is a proxy cache that is used for http caching. Traffic server gives the chanche to the developer to use the cache for other protocols such as rtsp, but you have to write your own code to make it work through plugins
[10:36] <ubitux> so far ok.
[10:36] <FranKi3> what i'm trying to do is to build a rtsp plugin for that
[10:37] <FranKi3> to cache content
[10:37] <FranKi3> let's say a sort of youtube CDN
[10:37] <FranKi3> so what i'm doing now?
[10:38] <FranKi3> i'm trying to build this plugin using ffserver and ffplay
[10:38] <FranKi3> since the rtsp managing is already done
[10:39] <FranKi3> so i have to do this kind of proxy
[10:39] <FranKi3> so i thought ... how i can see a proxy?
[10:39] <FranKi3> a proxy is a server client-side
[10:39] <FranKi3> and a player server side
[10:40] <FranKi3> and there's a cache that stores content
[10:40] <FranKi3> so what about modifying the ffserver code to make it stream the cache content?
[10:41] <FranKi3> and modify the ffplay to put the content retreved for the remote server in the cache
[10:42] <ubitux> sounds hacky, just use the libraries to write your tool if ffmpeg/ffserver/ffprobe/ffplay don't do what you want
[10:45] <FranKi3> ok thanks ... that's what i thought but i wanted some advices do u know on which routine do i have to concentrate on? which file of the library does the streaming part?
[10:46] <ubitux> it's just like any other format
[10:46] <ubitux> see http://git.videolan.org/?p=ffmpeg.git;a=tree;f=doc/examples;hb=HEAD
[10:49] <FranKi3> ok so you tell me to concentrate on formats
[10:49] <FranKi3> so that i can use this custom format in my code...right?
[11:22] <jacobs1> Hi, I am trying to stream video files over multicast from android ffmpeg on a tablet to windows pc ffplay. If I stream udp unicast the output is fine but when I stream to a multicast group I get many errors in ffplay and the output video has many frames corrupted. I assume this is because frames being lost. any idea how I can reduce frame loss ? this is the ffmpeg command and output:
[11:22] <jacobs1> http://pastebin.com/33J6LDdZ   this is the ffplay command and output: http://pastebin.com/TfQVA3VG
[11:31] <ubitux> jacobs1: playing with -pkt_size on ffmpeg side?
[11:48] <Mattias> So, half a year ago I could stream to twitch.tv (justin.tv) using ffmpeg and x264. I tried using the same script I used back then but it fails with ffmpeg segfaulting, here is the script: http://sprunge.us/FWCb  The non-commented code, I've added -qscale, -b and -itsoffset today, didn't help anything though... What could be wrong with it? x264 is version 0.124.x. I'm on Arch linux fully up to date, if that
[11:48] <Mattias> matters. One interesting note, is when I removed anything that has to do with sound, it manages not to segfault but, I just get a black screen on twitch.tv instead
[11:49] <Mattias> So either it segfaults using -f alsa -ac 2 -i pulse.. or I get black video when it doesn't segfault.
[11:50] <ubitux> Mattias: can you try to reproduce the crash (original command i suppose) with ffmpeg git head?
[11:50] <Mattias> ubitux: I tried using the git version of ffmpeg too, same segfault, nothing changed
[11:50] <Mattias> at 1.0 now again
[11:51] <ubitux> can you pastebin a gdb backtrace?
[11:51] <Mattias> sure, sec
[11:52] <ubitux> bonus point if you can reproduce the crash with most settings trimmed
[11:54] <Mattias> yeah, only happens if I have pulse used
[11:54] <Mattias> I can switch to oss and /dev/dsp (just noise then) and it doesn't
[11:55] <ubitux> there is a crash in our pulse device?
[11:56] <divVerent> ubitux: no, if I read that command line right
[11:56] <divVerent> he used -f alsa -i pulse
[11:56] <divVerent> so doesn't that mean he uses ALSA API, and the "type pulse" alsa-to-pulse wrapper?
[11:56] <ubitux> no idea
[11:57] <divVerent> in that case, I'd suggest to try -f pulse -i whatever
[11:57] <divVerent> no idea what you have to specify for this one
[11:57] Action: ubitux would like to fix the crash first, then fix the usage :p
[11:57] <divVerent> yes
[11:57] <divVerent> sure, a crash log of gdb will help either way
[11:57] <divVerent> unless we find out it's a crash inside alsa ;)
[11:58] <divVerent> was mostly mentioning it, as the alsa-to-pulse wrapper is known to behave weird in many situations
[11:58] <ubitux> or well, fix bad usage to fix use-case, but after we get a report for the crash
[11:58] <divVerent> right
[12:00] <divVerent> for pulse, BTW, it'd be -f pulse -i default
[12:04] <Mattias> divVerent: oh, let me try that quickly :)
[12:04] <divVerent> Mattias: first the gdb trace
[12:04] <divVerent> from the alsa use ;)
[12:05] <Mattias> currently compiling git ffmpeg so I get a debug binary (hopefully)
[12:05] <Mattias> using AUR
[12:05] <divVerent> you did specify the right magic options?
[12:05] <divVerent> --enable-debug or such stuff
[12:05] <Mattias> I am completely newbie to gdb :P
[12:05] <Mattias> oh, not in the PKGBUILD no
[12:05] <divVerent> then you won't get debug info out of it
[12:05] <Mattias> damn, restarting compilation
[12:05] <divVerent> try --enable-debug=3
[12:06] <divVerent> as extas extra configure option
[12:06] <Mattias> Weren't you the one helping me last time getting this command to work?
[12:06] <Mattias> half a year ago
[12:07] <ubitux> Mattias: why are you using AUR?
[12:07] <ubitux> if you need to apply a hot fix or anything it will be a pain
[12:07] <Mattias> ubitux: cower -d ffmpeg-git gives me a premade PKGBUILD I can rework
[12:08] <ubitux> but well, as long as you can provide a gdb backtrace with symbols&
[12:08] <ubitux> Mattias: ffmpeg doesn't need you to install anything to be usable, so using the package manager is kinda overkill
[12:09] <ubitux> ./configure --enable-gpl --enable-libx264 should be enough for your test case, then make, ./ffmpeg -i ...
[12:09] <Mattias> well, I have to, because it "provides" ffmpeg to the system, and other apps needs it, so if they can't find it, they'll force install the package managers ffmpeg
[12:09] <Mattias> I can't just remove ffmpeg from the package managers since there are dependencies
[12:10] <Mattias> great, now it's installed, time for gdb
[12:18] <Mattias> ok, got gdb to work, let's see, need to edit out my livestream key first :)
[12:18] <Mattias> can I somehow have gdb print out output to a file?
[12:18] <Mattias> or do I need to copy paste?
[12:24] <divVerent> copy paste
[12:28] <Mattias> divVerent, ubitux: http://sprunge.us/ZdNh
[12:28] <Mattias> I did compile with debug, but it says no debugging symbols found -.-
[12:28] <Mattias> anyways, seems I got some info out of it
[12:33] <Mattias> divVerent: using -f pulse -i default gives me Unknown input format: 'pulse'
[12:52] <jacobs1> @ubitux: I tried changing pkt_size but I am not getting any output at all, what kind of values should I try ? also I noticed that ffmpeg logs that fps is 36 but I set -r 10 can that be related to my problems ?
[12:57] <burek> jacobs1 Stream #0:0: Video: mpeg4, yuv420p, 854x480 [SAR 1:1 DAR 427:240], q=2-31, 500 kb/s, 90k tbn, 10 tbc
[12:57] <burek> ffmpeg reported it correctly as 10 fps
[12:57] <burek> not 36
[13:02] <jacobs1> the fps= is the input rate ?
[13:03] <burek> yes, but that should be 25 in your case
[13:03] <ubitux> Mattias: it doesn't give a single idea about where it fails; just build it yourself and run the command with ffmpeg_g
[13:03] <burek> if you specified -re
[13:03] <burek> and need real time streaming
[13:03] <burek> if not, then all the data will just be flooded to the router
[13:04] <Mattias> ubitux: on it :)
[13:04] <ubitux> jacobs1: -pkt_size 1316?
[13:07] <ubitux> Mattias: does it crash if you replace "rtmp://..." with "-f null -" ?
[13:08] <ubitux> mmh
[13:08] <ubitux> i mean with "-y /dev/null" sorry
[13:09] <Mattias> yeah, it still crashes
[13:11] <ubitux> interesting, so it's not related to rtmp then, should be easier to reproduce
[13:11] <ubitux> though, i'm unable to get the crash with that command
[13:11] <elkng> if I use 2 pass transcoding do I need to run first pass every time for same file ? its should get some information from video, and if on the second pass I want to encode vide to different resolutions can I use data from first pass ? if I want to
[13:11] <elkng>  transcode same video file into two files one is "800x600" and another is "320x200" do I need run first pass tvice ?
[13:12] <ubitux> mmh valgrind complains a little though&
[13:12] <Mattias> Yeah, I did not get this crash before.. but that was months ago
[13:12] <Mattias> I'm pretty sure it has something to do with pulseaudio :P
[13:15] <ubitux> the valgrind problems i see looks unrelated, and only at the end of the encoding
[13:16] <burek> elkng, yes you can use only 2nd pass
[13:16] <burek> that's the point of the 2 pass encoding
[13:16] <burek> 1st pass gathers info about your input
[13:16] <burek> 2nd pass encodes
[13:17] <Mattias> ok, got ffmpeg_g compiled
[13:19] <ubitux> strange, i don't get all these problems without libx264
[13:21] <Mattias> ubitux: http://sprunge.us/AQGc  using /dev/null this time
[13:21] <Mattias> ah crap, wrong? O.o
[13:22] <Mattias> changing my key, no worries :)
[13:22] <ubitux> Mattias: run ffmpeg_g
[13:22] <ubitux> not ffmpeg
[13:22] <ubitux> gdb --args ./ffmpeg_g ...
[13:22] <Mattias> eeh, wrong paste
[13:22] <Mattias> omg
[13:22] <ubitux> and then just 'r'
[13:22] <Mattias> I did, that's the old paste -.-
[13:22] <ubitux> don't forget to paste the command line with it
[13:22] <Mattias> unedited :P
[13:23] <jacobs1> @ubitux: I tried 1316 and still many frames lost. ffmpeg: http://pastebin.com/62zaC6fc ffplay: http://pastebin.com/UiF38ua7
[13:23] <jacobs1> should I be using -re for the input. I need a live feed but I can have some delay, not more than 10 seconds
[13:24] <ubitux> jacobs1: i meant as push option, -pkt_size 1316
[13:24] <ubitux> (also, why -async 1?)
[13:25] <ubitux> the drop is strange though
[13:27] <jacobs1> like this? ffmpeg -i /sdcard/crazy.flv  -vcodec  mpeg4  -ab 32k -ar 22050   -b 500k -r 10 -pkt_size 1316 -f  mpegts udp://227.1.1.1:3333
[13:28] <ubitux> yeah, that's what i had in mind
[13:28] <jacobs1> and ffplay : ffplay -pkt_size 1316 -i udp://227.1.1.1:3333 , I am getting many "PES packet size mismatch"
[13:28] <ubitux> might not be relevant at all for your problem but well
[13:28] <ubitux> no
[13:28] <ubitux> not in ffplay side
[13:29] <ubitux> nothing should be required on ffplay size
[13:29] <ubitux> ffplay udp://227.1.1.1:3333 should be just fine
[13:30] <jacobs1> same results with plain : ffplay udp://227.1.1.1:3333
[13:31] <Mattias> stupid tmux and copy paste :/
[13:33] <Mattias> finally. http://sprunge.us/NTfB
[13:33] <Mattias> ubitux: ^^
[13:34] <ubitux> oh that's pretty interesting
[13:34] <ubitux> so it's in lavfi&
[13:35] <ubitux> Mattias: what happens if you remove -vol 4096?
[13:35] Action: Mattias goes afk a few min for lunch
[13:35] <Mattias> I'll see
[13:35] <Mattias> sec
[13:35] <Mattias> still crashes
[13:35] <ubitux> ok
[13:37] <ubitux> Mattias: what about ./ffmpeg -f alsa -ac 2 -i pulse -ab 96k -ar 22050 -f null - ?
[13:37] <divVerent> and yes, probably both alsa and pulseaudio are totally innocent her
[13:37] <divVerent> e
[13:38] <ubitux> dst is NULL, but i'm not able to reproduce
[13:38] <Mattias> ubitux: crashes too -.-
[13:38] <Mattias> lunch~  be back in 5-10 min
[13:39] <ubitux> great, let's simplify even more when you're back
[13:39] <ubitux> like "./ffmpeg -f alsa -ac 2 -i pulse -f null -"
[13:40] <ubitux> or "./ffmpeg -f alsa -i pulse -f null -"
[13:48] <Mattias> no crashes on the last two there
[13:48] <ubitux> oh? mmh
[13:49] <Mattias> let's see if I add -ab, then -ar
[13:49] <ubitux> i'd bet on -ar
[13:50] <jacobs1> @ubitux: do you think I will have better results with ffserver ?
[13:50] <ubitux> jacobs1: i have no idea sorry
[13:51] <Mattias> whaat, no crashes now.. not even when adding -ab and -ar,  let's see how much more I can add
[13:51] <Mattias> ooh wait, there it crashed
[13:51] <Mattias> nvm :P
[13:52] <Mattias> yup, -ar crashes it
[13:52] <Mattias> let's see if the stream script works if I remove that
[13:53] <ubitux> you will still crash in the script
[13:53] <ubitux> because you have all sort of other audio parameters which will call libavfilter
[13:53] <ubitux> like the -vol option
[13:53] <Mattias> oh
[13:53] <ubitux> so anyway, "./ffmpeg -f alsa -ac 2 -i pulse -ar 22050 -f null -" crashes, right?
[13:53] <ubitux> could you give a new backtrace please?
[13:54] <Mattias> sure :)
[13:54] <Mattias> sec
[13:55] <ubitux> and can you remove the -ac 2 as well btw?
[13:56] <Mattias> ok, btw, it takes much longer before it crashes when I only have -ar there :)
[13:56] <Mattias> but it does crash within the minute
[13:57] <ubitux> much longer than with what?
[13:58] <Mattias> let's see,it's been running for almost 2 min now -.-
[13:58] <Mattias> great, now when it's debugging it does crash :P
[13:58] <Mattias> let's see if I add -ac in,
[13:58] <Mattias> then -ab :P
[13:59] <Mattias> I'll run each for 1-2 min until crash
[14:00] <Mattias> ok, debugging now with only -ac 2
[14:04] <Mattias> now. Why won't it crash -.-
[14:05] <Mattias> there we go, when I say crash, it crashes ;D
[14:06] <Mattias> I think it took the wrong input, (no sound), but on sound now it crashes straight away... or I'm just lucky with crashes again
[14:08] <Mattias> ubitux: http://sprunge.us/gggY
[14:11] <ubitux> i'm unable to reproduce the problem :(
[14:11] <ubitux> but that's pretty weird
[14:13] <Mattias> Let's see, my configuration options when compiling was: 1  ./configure --prefix=/usr --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-x11grab --enable-debug=3
[14:13] <Mattias> Minus that 1 in the beginning -.-
[14:15] <Mattias> I don't have any special pulse setup either :/
[14:15] <Mattias> What I do have is a headset with a usb soundcard
[14:30] <ubitux> Mattias: does the command you used in your last paste instantly crashes for you?
[14:30] <Mattias> yeah
[14:31] <Mattias> I think pulse had the wrong input on, now it gets my sound (monitor sound or what it's called)
[14:31] <ubitux> valgrind isn't complaining a bit here
[14:31] <ubitux> :/
[14:31] <Mattias> hm
[14:31] <Mattias> installing valgrind
[14:34] <Mattias> http://sprunge.us/AUGT
[14:35] <ubitux> mmh pretty interesting
[14:38] <ubitux> well anyway, i have no idea why this pointer get NULL, but you should fix your cmd line now
[14:38] <ubitux> shouldn't it be -f pulse -i <something>?
[14:39] <Mattias> well, for some reason it can't find pulse in -f pulse: Unknown input format: 'pulse'
[14:40] <Mattias> or if that means -i default is wrong :P
[14:42] <Mattias> Where can I find the documentation for -f pulse ?
[14:42] <Mattias> It's a huge maze on ffmpeg.org
[14:42] <Mattias> ok, found it :)
[14:43] <Mattias> let's see if I can get that working
[14:44] <divVerent> you dind't include the pulse driver when compiling ffmpeg
[14:44] <Mattias> ooh
[14:45] <ubitux> --enable-libpulse?
[14:46] <Mattias> yeah, compiling
[14:47] <Mattias> I wonder, if that would help with -f alsa -i pulse too
[14:47] <Mattias> or is it completely different?
[14:47] <ubitux> no idea
[14:47] <ubitux> i've never used pulse
[14:50] <Mattias> I think that works, no segfault with -f alsa now
[14:50] <Mattias> ok, it ran for 20-30 sec :P
[14:50] <Mattias> *no instant crash at least*
[14:51] <Mattias> running -f pulse now, up at 40 seconds :)
[14:52] <Mattias> over a minute!
[14:52] <Mattias> will let it run for atleast 10 min before I know it's crash-free
[14:54] <Mattias> at 3.30 :)  so, the other issue was black screen, but I've only tried it on the rtmp stream
[14:54] <jacobs1> Anyone knows what is the 'PES packet size mismatch' error ?
[14:55] <ubitux> Mattias: first fix the warnings about bitrate and stuff
[14:55] <Mattias> oh
[14:55] <Mattias> -qscale and -b
[14:56] <Mattias> so, there's -q:a or -q:v then -b:a or -b:v
[14:56] <Mattias> what's the diffrence?
[14:56] <Mattias> Is there an easy way to search the docs for these args?
[14:56] <ubitux> afaik you should choose between a quality scale or a bitrate, then you need to apply to a specific stream
[14:57] <ubitux> https://ffmpeg.org/ffmpeg.html
[14:57] <Mattias> well, it seems it's running crash-free now :) stopping the command now
[15:00] <Mattias> ok, those two are fixed now
[15:01] <Mattias> so, at least I get sound on the stream, just no video :)
[15:01] <Mattias> great, one step at a time
[15:02] <Mattias> going to just try to encode to a file first
[15:10] <Mattias> great, got video on a file
[15:10] <Mattias> now to tweak that bitrate
[15:12] <Smiley> :)
[15:41] <Mattias> Ok so, using http://sprunge.us/JTTi I get video from screen to a file. but as soon as I switch to using that rtmp link to justin.tv, black video, only audio
[15:41] <Mattias> Possible causes?
[16:35] <retsofaj> I'm hoping that someone out there can provide a spot of advice on how to encode two DVDs with different picture settings, such that the results have the same settings.  It looks something like this...
[16:36] <retsofaj> DVD#1 -- 	DAR = 1.33, PAR = 8/9, FPS=29.970, 720x480
[16:36] <retsofaj> DVD#2 -- 	DAR = 1.78, PAR = 32/27, FPS=29.970, 720x480
[16:36] <retsofaj> My goal is for the result to be something playable on a portable device, and I don't want to lose any data.
[16:37] <retsofaj> My guess is that I'll have to apply a padding filter to DVD#1 and then hope that the rest turns out OK.
[16:37] <klaxa> sounds good
[16:37] <retsofaj> Thoughts / suggestions / alternative?  And Thanks!
[16:37] <retsofaj> ]
[16:37] <klaxa> adding a padding filter i mean
[16:37] <klaxa> i assume the first one is 4:3 and the second one 16:9?
[16:38] <retsofaj> klaxa: That sounds right& one was produced a while back and looks like standard definition, and the other more recently and widescreen
[16:38] <retsofaj> klaxa: where I'm uncertain is (at the very least) the mathematics I should use to work out the padding
[16:39] <retsofaj> klaxa: I'm assuming that ffmpeg has command line switches somewhere to specify the DAR and PAR
[16:39] <klaxa> did you look at this part of the documentation? http://ffmpeg.org/ffmpeg.html#pad
[16:40] <klaxa> i don't know the math from the top of my head either
[16:41] <retsofaj> klaxa: I've been poking around there recently& and (to be honest) I've been looking at HandBrakeCLI (since I find that its Decomb filter is nicer than a basic Deinterlace)
[16:42] <klaxa> hmm... HandBrake is pretty nice for that... does it have padding? it has been a while since i used HandBrake
[16:42] <retsofaj> No padding in HandBrakeCLI & crop and decomb, yes; padding, no
[16:43] <klaxa> maybe you could add padding with ffmpeg and pipe that to handbrake
[16:43] <retsofaj> ffmpeg: pad, crop, and deinterlace, yes; decomb and really nice DVD chapter extraction, yes
[16:44] <retsofaj> klaxa: I thought about that& the intermediate would be _huge_ but it's a possibility
[16:44] <retsofaj> klaxa: (whoops; that last "yes" for ffmpeg should be a "no")
[16:44] <klaxa> heh
[16:45] <klaxa> well... if you pass through the raw to ffmpeg, which then adds padding and passes through the rest untouched again it shouldn't take a lot of cpu and I/O should be about the same too
[16:45] <retsofaj> That's looking like it might be the result& gonna be interesting!
[16:45] <retsofaj> Gotta run to a meeting; thanks for the discussion!
[16:52] <Mattias> got it to work :) added -pix_fmt yuv420p
[16:52] <Mattias> now it streams to twitch.tv :)
[17:11] <kappa12981> hi. i'm trying to mux video and raw data into a mpeg2ts stream from two named pipes in windows? is this possible?
[17:11] <burek> kappa12981, can you show us using pastebin?
[17:13] <kappa12981> unfortunately pastebin is blocked on my network
[17:13] <kappa12981> i can mux video fine
[17:14] <kappa12981> but i do not know the correct cli arguments for raw data
[17:15] <burek> use any pastebin-like site
[17:15] <burek> pastie.org for example
[17:16] <burek> oh in windows
[17:16] <burek> no point in pastebin then
[17:16] <burek> they don't provide command line named pipes anyway
[17:16] <cbsrobot> burek - do you think it's a good idea to add a justin.tv example to streamingguide ?
[17:17] <burek> cbsrobot, yeah, it's popular
[17:17] <cbsrobot> th'ats what i thought
[17:17] <cbsrobot> Mattias: do you mind adding your command line example to https://ffmpeg.org/trac/ffmpeg/wiki/StreamingGuide ?
[17:18] <kappa12981> named pipes is working for video in windows for me
[17:18] <kappa12981> cli: http://pastie.org/5366511
[17:19] <burek> cbsrobot, one more thing, i know it's a pita but, it would be good if we would use as little off-site links as possible, because pages go down sooner or later and your tutorial gets crippled
[17:19] <burek> it might be a good idea either to ask for a permission to copy the text or part of it or to rephrase things and just put the most essential stuff as guidelines
[17:20] <burek> (along with the links)
[17:22] <burek> kappa12981, and you have a software providing you with the content on that pipe right?
[17:22] <burek> i.e. it's not some other cmd line tool that just does: tool > \\.\pipe\ffmpegVideo
[17:22] <cbsrobot> burek: no problem
[17:32] <kappa12981> burek: that's right. it's a win app reading video from a blackmagic decklink
[17:33] <kappa12981> ffmpeg processes the file perfectly without the -dcodec text \\.\pipe\ffmpegMetadata options
[17:33] <kappa12981> and doesn't even process one frame with it in there
[17:36] <burek> kappa12981 did you try without "-pix_fmt uyvy422 -s 1280x720 -r 59.94 -i \\.\pipe\ffmpegVideo"
[17:36] <burek> (1st input)
[17:37] <burek> just use the 2nd input to see if it works at all
[17:37] <kappa12981> burek: just tried it, does not work
[17:39] <burek> just a second to check something :)
[17:42] <burek> kappa12981, it might be the case that 'text' is not an encoder
[17:42] <burek> what error message do you get
[17:42] <burek> when you try that line
[17:43] <kappa12981> no error, ffmpeg just hangs
[17:43] <burek> what version of ffmpeg
[17:44] <kappa12981> N-46469-gc995644
[17:46] <burek> that's ok
[17:47] <jure> heya
[17:47] <burek> any pastebins?
[17:54] <jure> can ffmpeg produce quality aac?
[17:54] <burek> jure yes and no
[17:55] <jure> ? \o/ ?
[17:56] <jure> i know libfaac is no more
[17:57] <burek> there is an internal -acodec aac -strict experimental
[17:57] <burek> there is libaacplus
[17:57] <burek> vo-aacenc
[17:58] <jure> libfdk-aac?
[17:58] <burek> type ./configure --help
[17:58] <burek> yes
[17:58] <jure> and libfaad2?
[17:58] <burek> :)
[17:58] <burek> i dont know
[17:58] <jure> i dont know which one to use
[17:58] <burek> take a look at configure
[17:58] <burek> it will tell you
[17:58] <burek> it depends on what you want
[17:58] <JEEBsv> fdk-aac if you want LC and HE AAC, aacplus if you only want HE
[17:59] <jure> how does this compare to qtaacenc
[17:59] <JEEBsv> faac and vo-aacenc aren't really great
[17:59] <JEEBsv> fdk is generally on level with qt
[17:59] <burek> do you care about size of your output or not (for the same quality)
[18:00] <jure> well, depends on what you mean by 'quality'
[18:00] <JEEBsv> anyways, fdk is my general recommendation for AAC, otherwise if you want to distro the binary you only have the internal encoder as an alternative :P
[18:01] <JEEBsv> vo-aacenc isn't better at all and everything else is nonfree
[18:01] <burek> yes, in general it just depends on how do you want to use it
[18:01] <jure> is fdk stable
[18:01] <JEEBsv> yeah
[18:01] <JEEBsv> fraunhofer's source code
[18:01] <JEEBsv> kierank tested it with really long inputs
[18:01] <jure> is it built-in by default or do i have to compile it manually
[18:02] <jure> is it present windows or debian binaries?
[18:02] <kappa12981> burek: how do i found out which data codecs are supported?
[18:03] <burek> kappa12981, type ffmpeg -codecs
[18:03] <burek> those that have 'E' are encoding-capable
[18:03] <burek> 'D' - decoding
[18:03] <burek> 'S' subtitle
[18:03] <kappa12981> this only lists video, audio, and sub codecs. what about generic data codecs?
[18:04] <burek> well, data stream is only sensible if you have it muxed in your container already I guess
[18:04] <burek> I don't know if you can load just any data from the file and mux it into your output file
[18:04] <kappa12981> ok. that's what i was afraid of
[18:06] <JEEBsv> jure: you have to compile manually. And because it can't be distributed with GPL binaries I'd say it's not in any Debian binaries either
[18:06] <jure> aw man, why?
[18:06] <jure> is it too early?
[18:06] <burek> just a sec kappa12981
[18:06] <jure> wait, it's non-GPL?
[18:06] <jure> jeeze louise
[18:06] <JEEBsv> yeah, it is a specific license that is a wee bit too strict
[18:07] <JEEBsv> aka "You cannot take money from this"
[18:07] <JEEBsv> which GPL doesn't limit
[18:07] <JEEBsv> -> GPL-incompatible
[18:07] <JEEBsv> it's compatible with LGPL naturally
[18:07] <JEEBsv> but libx264 f.ex. is GPL
[18:07] <burek> kappa12981, there are 'dump_extradata' and 'remove_extradata' bs filters
[18:07] <burek> im looking if there is any to just add the data :)
[18:08] <jure> what's the switch to compile in libfdk
[18:08] <burek> kappa12981 -attach filename
[18:08] <burek> http://ffmpeg.org/ffmpeg.html
[18:08] <burek> can that help you?
[18:08] <JEEBsv> jure: ./configure --help |grep "fdk"
[18:08] <JEEBsv> also you'll need to build fdk first
[18:08] <JEEBsv> https://github.com/mstorsjo/fdk-aac
[18:08] <jure> what, it's not in the git tree?
[18:09] <JEEBsv> jure: it's a separate library, so naturally
[18:09] <JEEBsv> released with the Android 4.1 source code release
[18:09] <jure> can I just clone the library into the ffmpeg folder, does it pick it up
[18:09] <JEEBsv> nope
[18:10] <kappa12981> burek: possibly, but it looks more like per stream data, where i need per frame data
[18:10] <JEEBsv> you will have to clone it, "autoreconf -fiv", then configure and build it
[18:10] <JEEBsv> (autoreconf will create the configure script)
[18:10] <kappa12981> something that conforms to smpte mpeg2ts per frame metadata stds
[18:10] <burek> kappa12981, well 'text' is not an encoder, so you can't use the way you'd like
[18:10] <jure> you're very helpful Jeeb, thanks
[18:11] <burek> try to convert that into something else
[18:11] <burek> (see ffmpeg -codecs for a list of supported encoders/decoders)
[18:11] <burek> and use that "something else" instead of 'text' data
[18:12] <kappa12981> ok
[18:26] <Diogo> hi one question please i'm trying to convert mmst to rtmp
[18:26] <Diogo> i'm using this command "/servers/ffmpeg/bin/ffmpeg -i "mmst://ip/code" -acodec libfaac -vcodec libx264 -f flv "rtmp://io:1935/live/nelsond"
[18:27] <jure> ok, now how do i use this ffmpeg with libfdk-aac
[18:27] <Diogo> this command works but appear http://pastebin.com/67hCgUmN
[18:27] <JEEBsv> jure: ffmpeg -codecs |grep "fdk"
[18:27] <Diogo> Error while decoding stream #0:1: Operation not permitted (vc1 -> libx264)
[18:28] <JEEBsv> and it tells you the fdk's codec name
[18:28] <JEEBsv> which you can then set with -acodec or -c:a
[18:28] <Diogo> why?
[18:28] <jure> yep, I get  DEA.L. aac                  AAC (Advanced Audio Coding) (encoders: libfdk_aac )
[18:28] <jure> ah, cool
[18:28] <JEEBsv> libfdk_aac is its name, y up
[18:28] <JEEBsv> *yup
[18:28] <jure> ls
[18:28] <jure> lol
[18:39] <jure> but wait: http://www.h-online.com/open/news/item/FFmpeg-reaches-1-0-1721974.html : "New encoders include the AAC implementation libfdk-aac ..."
[18:39] <JEEBsv> support for it :P
[18:40] <jure> I see
[18:42] <jure> where can I see the usage options
[18:42] <JEEBsv> generally the same as for any other audio/aac encoder
[18:42] <JEEBsv> you can set a profile and an encoding mode etc.
[18:43] <Diogo>  hi one question please i'm trying to convert mmst to rtmp.i'm using this command "/servers/ffmpeg/bin/ffmpeg -i "mmst://ip/code" -acodec libfaac -vcodec libx264 -f flv "rtmp://io:1935/live/nelsond", this command works but appear "Error while decoding stream #0:1: Operation not permitted".
[18:43] <Diogo> http://pastebin.com/67hCgUmN
[18:43] <Diogo>  
[18:47] <burek> Diogo, partial outputs will be of no help
[18:47] <burek> please provide complete, uncut output
[18:54] <jure> I tried libaacplus too just for kicks
[18:54] <jure> well color me impressed this is amazing
[18:55] <JEEBsv> fdk should be similar with the HE profiles
[18:56] <JEEBsv> also I love the fact how people write APIs for the reference encoders and try to license the whole thing under GPL while knowing that the reference encoder's license isn't in any way GPL compatible
[18:56] <JEEBsv> first faac
[18:56] <JEEBsv> then aacplus
[18:56] <JEEBsv> vo-aacenc was another reference encoder licensed properly by google, which then relicensed it under Apache v2. Too bad it sucked
[18:57] <JEEBsv> fdk-aac then was fraunhofer's "fast" encoder, which is actually is under a pretty good license but because of the wording being what it is, it is GPL-incompatible :|
[19:00] <burek> libaacplus rules :)
[19:01] <Mattias> cbsrobot: sure, I can do that :)
[19:02] <cbsrobot> Mattias: I was just wondering about your options
[19:02] <cbsrobot> could you try:
[19:04] <cbsrobot> ffmpeg -f x11grab -s $DESKTOP_RES -r $FPS -i :0.0 -f pulse -ac 2 -i default -c:v libx264 -preset fast -pix_fmt yuv420p -c:a libmp3lame -ab 96k -ar 22050 -s $OUTPUT_RES -f flv rtmp://live.twitch.tv/app/$STREAM_KEY
[19:04] <cbsrobot> not sure you need -bufsize and -maxrate
[19:05] <Mattias> I'm not sure why I added them, I think I tried to minimize bandwidth usage, but no idea if it is related at all
[19:05] <Mattias> Because I only have 1mbit upload
[19:08] <Prometheas> hello everybody! i need some help converting a video .webm to .mp4
[19:08] <Prometheas> sudo ffmpeg -i mon_appartament.webm mon_appartament.mp4 returns Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
[19:08] <Prometheas> Stream mapping:
[19:08] <Prometheas>   Stream #0:1 -> #0:0 (vp8 -> libx264)
[19:08] <Prometheas>   Stream #0:0 -> #0:1 (vorbis -> aac)
[19:09] <JEEBsv> Prometheas: see further up from that error :P
[19:09] <JEEBsv> you should see the actual cause for the error
[19:09] <Mattias> cbsrobot: works great, now I understand :v and :a, audio and video of course! changed my version :)
[19:09] <Mattias> going to beautify the code now a little before I add it to the wiki
[19:10] <jacobs2> Hi, I am trying for some time now to configure a live stream from one device ( android tablet ) to many ( 20 tablets ). I have tried many attempts with udp multicast but I have hi frame loss. this is the ffmpeg command and output: http://pastebin.com/33J6LDdZ   this is the ffplay ( on windows ) command and output: http://pastebin.com/TfQVA3VG. any ideas for a better aproach, would rtp multicast
[19:10] <jacobs2> give better results ?
[19:10] <JEEBsv> Prometheas: did you notice it already? There probably is something regarding -strict experimental (or -strict -2) neded :P
[19:10] <JEEBsv> *needed
[19:13] <Prometheas> JEEBsv: thank you very much! it has started converting now
[19:13] <JEEBsv> the internal aac encoder basically is just considered experimental because its not optimized yet quality-wise
[19:17] <Prometheas> JEEBsv: conversion was successful, thank you
[19:17] <JEEBsv> np
[19:19] <Mattias> cbsrobot: http://sprunge.us/aGiP  adding this :)
[19:20] <cbsrobot> Mattias: what are the commented lines for ?
[19:21] <Mattias> cbsrobot: for when distributing the example file, want me to remove comments when I add it to the "Setting" section?
[19:21] <cbsrobot> ah i get it
[19:21] <cbsrobot> sorry
[19:22] <cbsrobot> nah it's more or less ok like that
[19:22] <cbsrobot> just keep it as simple as possible
[19:22] <cbsrobot> f.ex. you could hardcode the QUAL setting
[19:22] <cbsrobot> (I mean not put it in a variable)
[19:23] <cbsrobot> or make multiple examples instead of commmented lines
[19:24] <Mattias> yeah, that sounds good
[19:36] <Mattias> cbsrobot: added, feel free to modify it
[19:39] <cbsrobot> Mattias: thanks
[19:39] <cbsrobot> will do a bit later
[20:21] <jacobs2> Anyone knows what is the 'PES packet size mismatch' error ?
[20:36] <john-dev> hey there, are there any news on converting iphone videos regarding the Transformation Matrix that Apple applies to the Quicktime on the video stream property auxMatrix
[20:40] <jluttine> hi! is there no easy way to keep the same bitrate/filesize/"quality" when converting video from one format to another?
[20:40] <JEEBsv> no, the closest to that is to use libx264's crf rate control
[20:40] <jluttine> i have a huge set of video files with a bit different resolutions, bitrates, etc but i would just like to convert them from mp4 to webm..
[20:40] <JEEBsv> ugh, webm
[20:40] <JEEBsv> nope
[20:41] <jluttine> :(
[20:41] <JEEBsv> you just have to roll the dice on some random bit rate and hope that's enough
[20:41] <jluttine> ffmpeg could offer this option, i think it would be useful..? :/
[20:42] <jluttine> i guess i need to parse the output of "ffmpeg -i input.mp4" in order to determine audio and video bitrates and then pass these to the actual conversion command..
[20:42] <JEEBsv> there is no way to offer "same quality" because there is no way of effectively calculating what you would mean with "same quality"
[20:42] <jluttine> same bitrate for instance
[20:42] <JEEBsv> also "same bit rate" is not "same quality" under any circuimstances
[20:42] <jluttine> but same bitrate would be good option
[20:42] <JEEBsv> no, it would not be
[20:42] <jluttine> why not
[20:42] <JEEBsv> it might in some corner cases lead to similar results, but that's only when dealing with high bit rates
[20:43] <JEEBsv> as I said, the closest thing there is in any encoder is the crf rate control mode in the libx264 encoder, which is not "constant quality", but pretty close to it. You choose the highest value that still looks good to you and it should "just work" generally on various clips
[20:46] <jluttine> i believe that using the same bitrate (e.g. 3000kb/s) when converting 720p h264 to webm would give reasonable good results
[20:46] <jluttine> or if the same bit rate doesn't make sense, does it mean i should choose the bitrate manually for each file?
[20:47] <JEEBsv> nah, you should just generally pick some bit rate for a certain type of clips
[20:47] <JEEBsv> separated by such things as resolution or frame rate
[20:47] <JEEBsv> unfortunately libvpx doesn't have anything like libx264's crf
[20:47] <JEEBsv> otherwise I'd just tell you to use that alternative instead of guessing a random number
[20:49] <JEEBsv> and that e.g. 3000kbps might be indeed enough (in some cases), but that's just one random bit rate
[20:53] <jluttine> i think i'll just write a script which parses the video and audio bitrates from the input file and then passes them to the converter..
[20:53] <burek> john-dev, i have no idea what have you asked :)
[20:53] <JEEBsv> jluttine: just don't mistake that with quality, you just want to keep the same file size :)
[20:54] <jluttine> JEEBsv: yep, but i believe (or hope) that it's approximately similar quality..
[20:54] <JEEBsv> it will work if your original H.264 streams had an abundance of bit rate, otherwise certain results will be less than good
[20:55] <jluttine> maybe one option would be then to, for instance, multiply by some constant, e.g., 1.2 (increase bitrate by 20%)
[20:55] <JEEBsv> I'd just vote for a single bit rate for a resolution or something :P
[20:56] <jluttine> but i may not know all the resolutions in all those files..
[20:56] <jluttine> but yeah, that would do also
[20:56] <jluttine> i guess there's only a few different resolutions
[20:56] <JEEBsv> well, you can then just have certain heights that you can check for
[20:57] <JEEBsv> and then add or remove some percentage depending on if it's between some pre-set resolutions you've thought of handling
[20:57] <JEEBsv> height 480/720/1080 would be some general resolutions
[20:57] <JEEBsv> also height 576 I think
[20:58] <JEEBsv> you pick some random bit rate that you've tested with some clips to be good enough for most content of that resolution (at least you hope so), and then use that
[20:59] <jluttine> but still, i'd think that option like --bitrate-scale=1.2 or something might useful. if you know that some format requires roughly 50% larger bitrate then you could easily pass that as an option
[20:59] <jluttine> JEEBsv: thanks, i might try that
[20:59] <JEEBsv> you really can't put it in such easy terms tho :/
[21:00] <JEEBsv> tl;dr too bad other encoders and encoder libraries don't have a mode a la crf in libx264
[21:18] <jacobs2> I am trying for some time now to configure a live stream from one device ( android tablet ) to many ( 20 tablets ). I have tried many attempts with udp multicast but I have hi many errors in player ("PES packet size mismatch") . this is the ffmpeg command and output: http://pastebin.com/33J6LDdZ   this is the ffplay ( on windows ) command and output: http://pastebin.com/TfQVA3VG.
[21:18] <jacobs2> any ideas for a better aproach, would rtp multicast give better results ?
[22:07] <ejcweb> I've got a number of videos (of varying resolutions) that need converting to mobile friendly mp4. I'm struggling to get a generic ffmpeg command that will work (I encounter errors like 'width is not multiple of 2', for example).
[22:08] <ejcweb> Is there an established way to do this? (eg. 1920x1080 video, needs to fit in 800x480 screen)
[22:09] <JEEB> http://ffmpeg.org/ffmpeg.html , ctrl+F "but make the size a multiple of the chroma"
[22:09] <JEEB> and see that example
[22:10] <JEEB> iw and ih being input width and height, vsub and hsub being vertical and horizontal subsampling
[22:10] <JEEB> modify that to match your needs and you should get a vf resize line that handles what you need :)
[22:11] <ejcweb> JEEB: So in that case I have to manually enter the input resolution?
[22:11] <JEEB> no
[22:11] <JEEB> look at it
[22:11] <JEEB> iw/ih/vsub/hsub are things ffmpeg will parse by the input parameters of the clip :P
[22:11] <JEEB> or output ones
[22:12] <JEEB> basically you can have the scaler do different things depending on the horizontal and vertical subsampling in this case
[22:13] <ejcweb> JEEB: Ah , I see.
[22:13] <JEEB> (you could in a similar way use those to just automatically limit the output to multiples of two, but doing it by the subsampling is more "nice" because in that case it won't limit it in case your output format doesn't need extra subsampling)
[22:14] <JEEB> now just adapt that example to your needs and you should be doing nice
[22:29] <jacobs2> hi, can I use ffmpeg as rtsp server ( as the output ) ?
[22:37] <john-dev> hey there, are there any news on converting iphone videos regarding the Transformation Matrix that Apple applies to the Quicktime on the video stream property auxMatrix
[22:39] <JEEB> you might want to specify what exactly that means :P
[22:42] <john-dev> iphones to add a special, well, lets talk it "meta tag" to the mov container (probably in the header) wheather its filmed horizonly or verticaly..
[22:42] <john-dev> call it*
[22:42] <JEEB> ok, so it's that
[22:42] <JEEB> I /think/ it is not implemented yet in pretty much anything else but QT
[22:43] <john-dev> you mean its already implented
[22:43] <JEEB> no
[22:43] <JEEB> I meant "it's only implemented in QT as far as I know"
[22:44] <john-dev> yeah thats what i meant, since iphone only creates mov files, i need ffmpeg to look for this "flag"
[22:46] <JEEB> here's the trac issue related to it https://ffmpeg.org/trac/ffmpeg/ticket/515
[22:47] <JEEB> it's a somewhat similar problem to certain mov files that have a video size of XxY while the actual video stream is AxB
[22:47] <JEEB> where AxB is smaller
[22:47] <JEEB> (and where QT would then resize it to the XxY size during playback, while libav*-based players would just output AxB plus a lot of 0x80)
[22:48] <JEEB> you would basically have to use swcale/libavfilter logic on the decoder side or however sync those two things
[22:49] <john-dev> hm, i hoped i wouldn't have to recompile.. :-P
[22:49] <JEEB> not like it's fixed in the current version in any way :P
[22:49] <JEEB> as I said, it still doesn't get dealt with in any way
[22:49] <JEEB> afaik
[22:51] <john-dev> yeah, i read a post that even combined the read out of that meta with the conversion.. but it's still alpha or something..
[22:53] <john-dev> but there is no date included..
[22:53] <john-dev> easiest task -> failed :P
[22:54] <JEEB> dunno, all I can see about that issue on the tracker is that people have been hacking around that metadata but as it might not exactly be a simple thing to implement (to turn the video automatically in case that metadata is found), I'm not seeing anyone implementing it :P
[22:54] <JEEB> watches are pelcome
[22:55] <john-dev> yep, i am working on a live enviroment and so, i dont want to beta test it :P
[22:55] <cbsrobot> john-dev: remember: http://www.youtube.com/watch?v=Bt9zSfinwFA
[22:55] <john-dev> cbsrobot, give me a sec.. ill whatch that in a minute (phone)
[22:55] <JEEB> john-dev, there are no "betas" -- the feature either is a random patch that someone has around, or it is in
[22:56] <JEEB> or absolutely nothing
[22:56] <JEEB> currently we are at stage "absolutely nothing"
[22:56] <john-dev> ok, i expected that :-)
[22:56] <john-dev> just had to ask..
[22:56] <JEEB> thus -> if you care about it, you can ask on #ffmpeg-devel and you may join the development crew
[22:56] <JEEB> and/or ask the best way to implement it within the ffmpeg side of things
[22:57] <john-dev> can't, the topic says: Questions about using FFmpeg or developing with the libav* libraries should be asked in #ffmpeg
[22:57] <john-dev> and i think its libav related
[22:57] <JEEB> USING them
[22:57] <JEEB> we're talking about implementing stuff WITHIN them
[22:57] <john-dev> hmh, maybe i missread it..
[22:57] <JEEB> also many developers generally ignore this channel, so if you are wanting to talk about developing ffmpeg itself, then #ffmpeg-devel most definitely is the place to go
[22:57] <JEEB> take a look at libavformat/mov.c
[22:58] <JEEB> you can add the parsing of that metadata there
[22:58] <john-dev> yeah, i already did that..
[22:58] <john-dev> works.. sometimes.. :P
[22:58] <JEEB> then you implemented it wrong 8)
[22:58] <john-dev> probably..^^
[22:58] <JEEB> but yes, that's a good beginning -- off to #ffmpeg-devel you go
[22:59] <JEEB> you might actually get this stuff in :P
[22:59] <john-dev> i am in there.. ill ask there tomorrow
[22:59] <JEEB> k
[22:59] <john-dev> thanks a lot anyway.. just good to know it's not realesed yet :-)
[23:34] <Shootfast> Hi, Anyone have experience encoding .movs in DNxHD and importing to Avid? I can't get ffmpeg to match the output from quicktime, Things like color ranges and colorspaces seem off.
[00:00] --- Tue Nov 13 2012


More information about the Ffmpeg-devel-irc mailing list