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

burek burek021 at gmail.com
Sun Aug 17 02:05:01 CEST 2014


[00:57] <smo_> hi! still searching for my problem :p i have a nodejs http server where i send links of  local or online files , i send it to ffmpeg to make live transcoding then pipe the result in my http response, problem i have is that i m unable to get the right duration of the file in my player an idear?
[00:58] <smo_> i can get all infos from orginal files i seacrh a way to force writing the duration in the response header or something like that
[03:08] <SmallMalePony> Can you help me figure out how to improve the following command so that it forces a fixed bitrate (and picks the value automatically -- this is the important part)?
[03:09] <SmallMalePony> ffmpeg.exe -i %1 -q:a 0 -q:v 0 %1.avi
[03:09] <SmallMalePony> (This is because if it's variable, Premiere Pro fucks up the audio.)
[03:10] <SmallMalePony> (It makes the audio drift which is INSANELY annoying.)
[03:43] <relaxed> SmallMalePony: -q = vbr, try ffmpeg.exe -i %1 -b:a 320k -b:v 2M %1.avi
[03:44] <SmallMalePony> relaxed: But that's a manually specified one?
[03:46] <relaxed> if you only need a fixed bitrate for audio, ffmpeg.exe -i %1 -b:a 320k -q:v 1 %1.avi
[03:55] <SmallMalePony> ffmpeg has the weirdest syntax for the command line options. :S
[03:55] <SmallMalePony> Will try that.
[03:56] <klaxa> i think it's one of the smartest ones i know
[03:58] <relaxed> replace -b:a 320k with -c:a pcm_s16le for lossless audio
[03:59] <SmallMalePony> What do you mean lossless?
[03:59] <SmallMalePony> You mean it will be fixed and lossless?
[04:00] <c_14> Constant bitrate lossless, yes.
[04:01] <SmallMalePony> What exactly is pcm_s16le?
[04:01] <SmallMalePony> You have no idea how much suffering this will save me if it works. :D
[04:01] <c_14> Signed 16 bit little endian Pulse-Code-Modulated audio.
[04:01] <SmallMalePony> Imagine having 20 cuts in a movie and each one has to have the audio adjusted manually.
[04:02] <SmallMalePony> Thanks a lot. I think this will work.
[04:04] <relaxed> SmallMalePony: completely lossless,  ffmpeg.exe -i %1 -c:a pcm_s16le -c:v rawvideo %1.avi
[04:04] <relaxed> expect huge output
[04:14] <SmallMalePony> Well, the -q:v is already lossless.
[04:15] <SmallMalePony> Unless I am misinformed.
[04:15] <SmallMalePony> That is, lossless compared to the source.
[04:17] <c_14> -qp 0 is lossless for x264, but not for every encoder
[04:19] <SmallMalePony> Then what is -q:v?
[04:19] <SmallMalePony> Then what is -q:v 0?
[04:19] <SmallMalePony> (Forget the first question, please)
[04:22] <relaxed> -q:v is vbr, and "0" isn't even a valid value. The range is from 1 - 31
[04:24] <relaxed> "0" is valid with -q:a but it depends on the external codec.
[04:24] <c_14> relaxed: The scale for x264 goes from 0-69
[04:24] <c_14> What codec are you talking about?
[04:25] <relaxed> I thought -q:v had nothing to do with libx264. Are you thinking -qp ?
[04:25] <relaxed> and the default codec for .avi is mpeg4
[04:26] <c_14> I am, but isn't -q:v aliased to -qp for x264?
[04:26] <c_14> It is? I thought almost everything defaulted to x264 these days (if x264 was linked it).
[04:27] <relaxed> Yes, I just tested.
[04:27] <relaxed> You maybe right about -q:v being aliased to -qp, though. I'm not sure.
[04:28] <c_14> Neither am I...
[04:33] <troy_s> sine0: Yes. Your pipeline. It ultimately depends on your project, but how you intend to organize the process is key.
[04:34] <troy_s> sine0: If you are interested and willing, feel free to hit me via PM and I can probably offer you some pipeline tips.
[04:34] <DopeLabs> first you pack it up
[04:38] <SmallMalePony> -qp would probably be the code for ordering a quarterpounder cheese from McDonald's if they had an interface.
[04:39] <SmallMalePony> That is perhaps the one positive thing about drones.
[04:39] <SmallMalePony> They could deliver hamburgers to my window.
[04:39] <SmallMalePony> By paying with Bitcoin on the command line.
[04:39] <SmallMalePony> But that is also an extremely decadent and sad existence.
[04:40] <DopeLabs> post something on craigslist that you will buy someone a happymeal if they deliver you some mc-d's
[04:44] <DopeLabs> weee
[05:19] <oglop374_xads> hello all, i have a question about compiling ffmpeg with librtmp on centos 7, i'm using this forked build script, https://github.com/oglops/ffmpeg-static   which i only added a few lines of downloading librtmp , and  add --enable-librtmp to ./configure
[05:19] <oglop374_xads> but it doesn't work. the last error message is
[05:19] <oglop374_xads> *** Building FFmpeg ***
[05:19] <oglop374_xads> ERROR: librtmp not found
[05:19] <oglop374_xads> full config.log here: http://pastebin.com/k2wsJzuw
[05:27] <DopeLabs> did you install librtmp?
[05:32] <oglop374_xads> the "static" build script put all compiled dependency libs in build/lib folder
[05:32] <oglop374_xads> i saw librtmp there, and also the pkgconfig folder there. it can "see" all the other libs but not librtmp, don't know why
[05:40] <DopeLabs> i might recall running into something similar.. i may have install librtmp-dev and that may have worked
[05:40] <DopeLabs> though i cant remember exactly
[05:48] <oglop374_xads> but my librtmp is git cloned from git://git.ffmpeg.org/rtmpdump  source. and compiled in the build script , it should have included the "librtmp-dev" ( i didn't install librtmp from repo )
[05:49] <DopeLabs> /usr/include/librtmp ?
[05:51] <oglop374_xads> in here /home/oglop/Downloads/ffmpeg-static-mine2/target/lib/
[05:52] <oglop374_xads> the build script already set some env vars
[05:52] <oglop374_xads>  export LDFLAGS="-L${TARGET_DIR}/lib"
[05:52] <oglop374_xads>   # FIXME: detect OS somehow
[05:52] <oglop374_xads>   export DYLD_LIBRARY_PATH="${TARGET_DIR}/lib"
[05:52] <oglop374_xads>   export PKG_CONFIG_PATH="$TARGET_DIR/lib/pkgconfig"
[05:52] <oglop374_xads>   #export CFLAGS="-I${TARGET_DIR}/include $LDFLAGS -static-libgcc -Wl,-Bstatic -lc"
[05:52] <oglop374_xads>   export CFLAGS="-I${TARGET_DIR}/include $LDFLAGS"
[05:52] <oglop374_xads>   export PATH="${TARGET_DIR}/bin:${PATH}"
[06:31] <oglop374_xads> what does this line mean  TARGET_DIR="${TARGET_DIR:-$ENV_ROOT/target}"
[11:33] <BillyZane> hi
[11:39] <anshul_mahe> hello
[11:40] <anshul_mahe> ask your question,Its often no chat on this irc
[11:42] <BillyZane> well
[11:42] <BillyZane> i want to stream to twitch or any other video streaming service
[11:42] <BillyZane> but what i want to stream is video files
[11:43] <BillyZane> an example would be a mkv file with multiple audio files and subtitles
[11:49] <anshul_mahe> need more details about twitch, which stream does that server support, rtp http hls etc
[11:50] <anshul_mahe> cmd is simple ffmpeg -i <videofile> <pathofserver>
[11:56] <DopeLabs> you would use rtmp
[11:56] <DopeLabs> if your going to twitch
[11:56] <DopeLabs> or whoever you go with
[11:57] <DopeLabs> im sure they have a recommended encoder settings page somewhere
[12:04] <BillyZane> i believe it uses rtmp
[12:04] <BillyZane> it authenticates using a username and a key
[12:04] <BillyZane> *stream key
[12:04] <DopeLabs> ustream doesnt and twitch doesnt
[12:05] <DopeLabs> its just a rtmp://live.twitch.tv/secret/stuff
[12:52] <oglop374_xads> pkg-config --exists librtmp  shows  librtmp exists ... but still can not find it
[12:55] <relaxed> oglop374_xads: I bet it will work if you don't try to compile ffmpeg statically.
[12:57] <relaxed> oglop374_xads: wait, try adding --pkg-config-flags="--static"
[13:08] <oglop374_xads> i tried manually copy librtmp.so to /usr/lib64, it works ...
[13:08] <oglop374_xads> thanks i'll try that. because i have no root permission at office. and i want to copy my compiled ffmpeg to other machine, that's why i was trying to build it statically.
[13:15] <oglop374_xads> relaxed: where do i add --pkg-config-flags="--static" ?
[14:02] <relaxed> oglop374_xads: ffmpeg's ./configure
[14:07] <oglop374_xads> the build script hard coded download links for ffmpeg and libraries. previously it was using ffmpeg2.1.4, and it doesn't have that flag in ./configure.  i'm trying updating all of them to latest. right now trying ffmpeg 2.3.2
[14:26] <oglop374_xads> relaxed: tried adding that flag, the error is   Unknown option -static
[14:26] <oglop374_xads> Unknown option -static
[14:26] <oglop374_xads> ERROR: opus not found
[14:28] <relaxed> you need two --
[15:09] <oglop374_xads> relaxed: still the same error ERROR: librtmp not found
[17:22] <oglop374_xads> relaxed: this post seems solved my problem  http://stackoverflow.com/questions/9634496/building-ffmpeg-with-librtmp-for-android
[17:33] <bbbruce> I am using ffmpeg -f rawvideo -s 640x480 -pixfmt bgr32 -r 25 -i - -an output.mp4 from inside a java program to create video. I write images to the outputstream (ffmpegs stdin) until I am done, then I close the stream. This works for sequences with around 1000 images. With larger sequences it looks like ffmpeg never terminates and fails to produce a playable mp4 file. Is there anything I can do to fix this?
[17:36] <bbbruce> I use ffmpeg 2.3.2 on OSX 10.9
[18:58] <Wonka> g'day
[18:58] <Wonka> I have an mpegts file here which contains a video stream and an audio stream.
[18:58] <Wonka> ffmpeg doesn't recognize the audio stream
[18:59] <Wonka> I know it is SMPTE 302M.
[18:59] <spaam> what does ffmpeg -i say?
[19:00] <spaam> and what version are you using? :)
[19:00] <Wonka> output of "ffmpeg -i miracast.ts" piped to file: http://chaos.in-kiel.de/~w/tmp/ffmpeg-i.log
[19:01] <Wonka> "ffmpeg version 2.3.1" it says
[19:01] <Wonka> »ffplay -f lavfi 'movie=miracast.ts:s=#0x1011'« works fine to play the video part
[19:02] <spaam> looking at Changelog, ffmpeg added support for that codec in version 0.8 so it should work in 2.3.1
[19:03] <Wonka> yeah, it just doesn't seem to recognize the stream as audio and/or s302m
[19:03] <Wonka>     Stream #0:1[0x1100]: Unknown: none ([131][0][0][0] / 0x0083)
[19:03] <Wonka> which I don't really wonder about, as 0x83 is "private data"
[19:04] <Wonka> I'm more-or-less just looking for a way to override the (failing) stream type detection
[19:05] <Wonka> »ffplay -f lavfi 'amovie=miracast.ts:s=#0x1100'« fails: »[Parsed_amovie_0 @ 0x7f5e74002680] Stream specifier "#0x1100" matched a (null) stream,currently unsupported by libavfilter«
[19:09] <spaam> if you can share the file. make a bug ticket and attach the file so they can fix the issue :)
[19:11] <c_14> Wonka: you can try and override the detection ffmpeg -c:a s302m -i file
[19:11] <c_14> s/detection/detection:
[19:12] <spaam> c_14: can you do that even if ffmpeg say the other stream is Unknown? didnt know that:)
[19:12] <Wonka> c_14: doesn't work, it doesn't find any audio stream to apply that to
[19:13] <c_14> spaam, Wonka: it only works sometimes, but it was worth a shot
[19:14] <Wonka> »ffmpeg -c:0:1 s302m -i file« errors »Invalid decoder type 's302m'«
[19:14] <Wonka> not "Unknown decoder", but "Invalid".
[19:14] <c_14> does ffmpeg -decoders list s302m for you?
[19:15] <Wonka> yes
[19:16] <c_14> Do you have any other player/decoder/whatever that can play the file?
[19:16] <c_14> If yes, it's probably time for that bug report. If not, it might be corrupt.
[19:17] <Wonka> well... I do have a Rasperry Pi with a Wifi stick, and the code from https://github.com/codemonkeyricky/piracast/
[19:18] <Wonka> I can stream Audio+Video from my mobile to the RasPi's HDMI output with that
[19:18] <Wonka> works fine.
[19:18] <Wonka> I can capture the data, and replay it to the same software.
[19:19] <c_14> So that piracast thingy can play it?
[19:19] <Wonka> I can extract the mpegts from the captured data
[19:19] <Wonka> yes
[19:19] <Wonka> it uses the RPi's video HW though
[19:20] <Wonka> parts are done in some blackbox there, and I can't capture the output there
[19:20] <Wonka> but I am quite well sure the data is not corrupted
[19:20] <c_14> I'd open a bug report on trac with a sample of the file.
[19:22] <Wonka> mmh... will see. currently trying gstreamer with libav....
[19:24] <spaam> :D
[21:14] <Baked_Cake> i just learned how to -tune animation / -tune film
[21:14] <Baked_Cake> kinda excited to see the results on animation
[21:44] <DopeLabs> i use -tune stillimage alot when rendering image seq's
[21:55] <differentnick> when seeking with -ss before -i (and only -ss before -i), sometimes (depending mostly on codec I think) the output will be glitchy for the first few seconds, until it comes across a keyframe in the input. Is there any argument that fixes this within ffmpeg other than -ss seeking "close" to where you want to start before -i then seeking the rest of the way after -i?
[00:00] --- Sun Aug 17 2014


More information about the Ffmpeg-devel-irc mailing list