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

burek burek021 at gmail.com
Fri Oct 25 02:05:01 CEST 2013


[00:17] <zennist> Hi does anyone knows how to get the current playing time from libavcodec
[00:18] <zennist> like ftell for files?
[03:05] <dbro> Anyone have any pointers re: constructing AVPackets given raw encoded access units? I'm performing encoding with a hardware encoder and using ffmpeg for processing / muxing
[03:05] <dbro> Can't find a suitable looking convenience function to accomplish this, and manually setting AVPacket fields seems daunting and doomed to fail (as it currently is)
[03:07] <dbro> (Android's) HW encoder only provides a ByteBuffer for each encoded frame, as well as pts, length, offset and flags. No dts as AVPacket seems to require& see http://developer.android.com/reference/android/media/MediaCodec.BufferInfo.html
[03:08] <dbro> help me birth a FOSS HTTP HLS server for Android (and iOS too!)
[04:04] <netsrot> does running killall ffmpeg or pressing ctrl+c to stop recording work just as good as pressing q?
[04:18] <netsrot> brb 10h
[05:07] <Ulfalizer> i'm seeing errors along the lines of http://pastebin.com/gBDWKv47 when encoding with CODEC_ID_MPEG1VIDEO, and the resulting output file generates "internal data stream error" errors in ubuntu's Videos video player as well. if i do mpeg4 instead everything seems to work fine. i also saw similar errors for mpeg1 with libavformat/output-example.c (which i based my code on), though no playback errors (guess it might be becaus
[05:08] <Ulfalizer> could paste some code, but thought i'd check if it's a well-known problem first
[05:41] <Ulfalizer> tried setting rc_buffer_size in the AVCodecContext to a few different values too. that got rid of the warning at the beginning, but not the rest.
[13:11] <netsrot> Hi, any idea why this file only plays in mplayer and not vlc? "ffmpeg -f x11grab -r 3 -s 1920x1200 -i :0.0 -vcodec libx264 -vf scale=640:360 game1.mkv"
[13:11] <durandal_1707> netsrot: perhaps vlc does not support yuv444p?
[13:12] <zap0> cause VLC can't play it.
[13:12] <durandal_1707> you could also use '-vcodec libx264rgb' for better quality
[13:12] <netsrot> ok arg should I change so vlc can play it?
[13:13] <durandal_1707> -vf scale=640:360,format=yuv420p...
[13:14] <netsrot> ok thanks I will try that.
[13:14] <zap0> why don't you first find out what VLC can play.
[13:15] <netsrot> I prefer mplayer but other ppl use vlc and needs it to work...
[13:21] <durandal_1707> netsrot: tell them to update VLC
[13:21] <zap0> or get something that can play videos.
[13:22] <netsrot> durandal_1707: thanks, will try that.
[13:23] <durandal_1707> i do not have VLC, but i hope it is fixed in latest, if not than complain on #videolan
[13:24] <netsrot> btw does ffmpeg exit gracefully when pressing ctrl+c or running killall ffmpeg? just like pressing q? or would it be better to make a fifo to pipe q to ffmpeg?
[13:35] <netsrot> was it a stupid question or how do ppl exit ffmpeg? I don't want the terminal to show in the recording.
[13:50] <durandal_1707> netsrot: you could try it...
[14:01] <netsrot> piping q to fifo seems to work so I'll go with that as I'm affraid of getting a corrupted ending.
[14:04] <durandal_1707> well with ctrl+c you should not get corrupted ending
[14:14] <netsrot> ok, thanks a lot.
[15:38] <bouba> hi all, about H264 vids, anyone's familiar with lagging problem on last adobe flashplayer, but no log on ffplay, vlc or other players ?
[15:38] <bouba> the videos are read locally
[15:38] <bouba> but no lag* on ffplay, vlc, ...
[15:54] <netsrot> I tried changing to format=yuv420p but it still doesn't work in vlc 2.0.7 =(
[15:55] <plm> Hi all
[15:55] <netsrot> and using libx264rgb I only get green screen.
[15:55] <netsrot> Hi plm
[15:58] <netsrot> The problem seems to be that I use -r 3. When I change that to -r 25 it works...
[15:58] <plm> The ffmpeg/ffserver support HTTP Dynamic Streaming?
[16:06] <plm> netsrot: ^^
[16:11] <bouba> i just dont understand why flash is lagging and not ffplay (locally)
[16:45] <durandal_1707> bouba: flash is slow
[16:45] <tmm__> hey all, I'm trying to compile ffmpeg for the iOS simulator running iOS 7.0, with Xcode 5 command line tools and I get a /Applications/Xcode5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc is unable to create an executable file. error
[16:45] <tmm__> console.log file is here http://pastebin.com/cHtPnYq3
[16:46] <bouba> durandal_1707 : but, once I reencode the vid into ffmpeg, it is tagged as "CFR" instead of "VFR"...and it works without lag
[16:46] <durandal_1707> ask flash devs
[16:46] <bouba> i use MediaInfo and FFprobe for infos
[16:46] <bouba> ok
[16:50] <plm> anyone know about ffmpeg/ffserver support for HTTP Dynamic Streaming? I would like a adatative bitrate streaming over box1 and box2.
[16:56] <spaam> ffmpeg can make the files IIRC
[16:57] <bouba> http://sourceforge.net/projects/opensvcdecoder/
[17:12] <plm> bouba: hmm... maybe SVC is the solution. I will to check. I think actually the adobe support HTTP Dynamic Streaming. I need just streaming, not encoding. box1 streaming a video to box2 and between box1 and box need to adjust on fly the bitrate..
[17:13] <bouba> plm: SVC is "adaptive", perhaps you need "progressive"
[17:14] <bouba> ffserver supports http progressive
[17:14] <plm> bouba: what is difference?
[17:16] <bouba> plm: progressive cannot modify the stream quality "on-the-fly"
[17:17] <bouba> plm: vlc-cli is able to stream HTTP too
[17:18] <bouba> as ffserver
[17:21] <plm> bouba: So I need the adaptive. I need t adjust bitrate on the fly becouse bewteen box1 and box2 I have unstable networking. box1 has as input a local network rtsp video, and box1 need to transmit to box2 with always best quality without stop/congeals.
[17:21] <plm> bouba: vlc-cli?
[17:22] <bouba> plm: sorry, vlc-nox
[17:23] <bouba> but, imho ffserver as more features
[17:23] <plm> bouba: I'm actually using VLC to streaming that:  cvlc -vvv rtsp://192.168.0.40 --sout '#standard{access=http,mux=ogg,dst=187.71.63.24:8080}' --network-caching=5000
[17:24] <plm> bouba: yes, vlc does not that adjust bitrate on the fly
[17:24] <plm> bouba: sorry, ffserver adjust on the fly bitrate?
[17:24] <bouba> plm: im not a guru, but imho, non, they do not support it yet
[17:28] <plm> bouba: I think just adobe is capable to adjust bitrate on the fly :-(
[17:28] <plm> bouba: or that SVC project..(need to check)
[17:30] <bouba> plm: in order to adjust on the fly, the media file needs to be segmented, check the HLS protocol by Apple too
[17:30] <bouba> plm: http://stackoverflow.com/questions/1093667/http-live-streaming-ffmpeg-ffserver-and-iphone-os-3/1136965#1136965
[17:39] <plm> bouba: ok
[17:39] <plm> bouba: I think HLS is the solution..
[17:40] <plm> bouba: what I know about HLS is that it create many video streaming bitrates and client choice what video bitrate get right?
[17:40] <plm> So the client can change between video with high bitrate to low bitrate and vice versa on the fly.. I hope that works =D
[18:31] <zennist> Hi I'm playing around with libavcodec's AVIOContext. What I only do is to simulate the default io implementation by just reading / seeking a file handle. But avformat_open_input keeps complaining moov atom not found for mp4 files (which are perfectly playable with ffplay, or with the default io implementation without my custom avio context) Any ideas?
[18:40] <namhub> oh hai
[18:43] <namhub> zennist: 1) I've never used avio.h 2) if I'm not mistaken, you need to first open the container with libavformat
[18:43] <namhub> 3) then you read a packet, which you use libavcodec to decode.
[18:44] <zennist> namhub: yes I've already done that
[18:44] <namhub> zennist: show me your code
[18:45] <zennist> namhub: pastebin.com/6tyKFAz2
[18:46] <zennist> it can play mp3's no problem; just not for aac
[18:46] <zennist> interestingly as I said if I'm not using my custom avio then everything's fine
[18:48] <namhub> why avio, might I ask?
[18:49] <zennist> namhub: I'm testing this for streaming music
[18:50] <namhub> hmm, did you qt-faststart your mp4?
[18:50] <zennist> so I actually needs the custom io functions to get the bytes from network; avformat declares it supports url but in reality I haven't got it to work
[18:50] <zennist> no
[18:50] <namhub> well mp4 moov atoms aren't at the beginning of the file, normally
[18:50] <zennist> but the fact is that I'm now testing with my file on my disk; so it should be able to see the moov atom at the end
[18:50] <namhub> well, did you actually read that part?
[18:51] <zennist> and in fact it works when I'm not using my avio; so ffmpeg's own implementation does the trick
[18:51] <zennist> yes I get your point
[18:51] <namhub> i'm guessing the reference implementation does hackery to make this work right
[18:51] <namhub> which you'll also need to magic up ;p
[18:51] <zennist> but my point is that the file is complete, so it should still work
[18:51] <namhub> dunno; perhaps ask the ML
[18:52] <zennist> ML?
[18:52] <namhub> mailing list
[18:52] <zennist> OK. Thanks still.
[18:52] <zennist> I'm reading the source code... Hopefully I can see the part I need...
[18:56] <namhub> let me know if you find the magic ;p
[18:57] <namhub> I've been piddling with libav* for awhile too; but I'm no expert obviously.
[19:59] <Borys> Hello, I have an issue with using VP8 with FFMPEG. I am getting error 22 with avcodec_open2() when using avOutputFormat->video_codec = AV_CODEC_ID_VP8;. I cross-compiled ffmpeg with libvpx with --enable-libvpx option. AV_CODEC_ID_VP9 works. What should I take a look at?
[20:00] <saste> Borys, what's the error message?
[20:00] <Borys> Is there a way to read it?
[20:03] <saste> Borys, just copy&paste stderr
[20:03] <saste> it is printed there by default
[20:03] <saste> 22 = EINVAL
[20:03] <Borys> I am actually using the libraries in C
[20:03] <Borys> not the command line tool
[20:04] <saste> Borys, still the library will log to stderr
[20:04] <Borys> Ok, one moment, I'll see how to read it. I should mention that this the libraries have been cross compiled for Android via the Android NDK
[20:06] <saste> Borys, also only vp8 decoding is supported
[20:06] <Borys> Ah, encoding is not?
[20:06] <Borys> I think there's my problem then :)
[20:06] <Borys> Is VP9 encoding supported?
[20:07] <saste> Borys, if you read the log it will tell you, that's what it's meant for, the error code alone is not that useful
[20:07] <saste> Borys, i think so, it was added a few weeks ago (only decoding)
[20:07] <ska> I can't seem to record video using: ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 -f alsa -ac 2 -i pulse output.flv 0+100,200 -f alsa -ac 2 -i pulse output.flv
[20:07] <Borys> Here it mentions that both VP8/VP9 encoding is supported via libvpx: http://ffmpeg.org/general.html#Video-Codecs
[20:08] <saste> indeed
[20:08] <Borys> I have to use the experimental flag to enable it
[20:08] <ska> I don't have pulseaudio.. Is there any way I can use pure alsa?
[20:08] <ska> ok..
[20:10] <ska> http://pastebin.com/f43U26Bk
[20:14] <Borys> Is there a specific function that I can use to read from stderr? My console output only has what I am logging http://pastebin.com/39vg2akC
[20:15] <saste> Borys, to read from stderr, you need the log and your eyes (or the equivalent if you're blind)
[20:15] <ska> I have a USB device, but I don't know how to address it for ffmpeg
[20:16] <Borys> This is the only line in my log that is present when the line executes: E/ERROR(16257): CRASHING! Could not open codec: -22 (where "ERROR" is my ERROR_TAG from the pastebin)
[20:16] <llogan> ska: that's a fake ffmpeg
[20:17] <llogan> http://trac.ffmpeg.org/wiki/UbuntuCompilationGuide
[20:17] <Borys> I think I found my logging issue, I need to manually redirect stdio in Android. I will go try it now.
[20:17] <ska> llogan: should I be using avconv?
[20:17] <llogan> ska: if you want to continue using crappy, fake ffmpeg then go to #libav
[20:18] <llogan> if you want to use avconv then go to #libav.
[20:18] <llogan> avcorn also isn't ours
[20:18] <saste> avconf?
[20:20] <Borys> saste: I will be unable to log stderr as Android redirects that output to /dev/null. The only way to read it is to have a rooted device, which I do not have access to :(
[20:21] <Borys> Source: http://stackoverflow.com/questions/10531050/redirect-stdout-to-logcat-in-android-ndk
[20:21] <saste> Borys, ok, you can rediret stderr to a file
[20:21] <saste> *redirect
[20:21] <saste> see the file libavutil/log.h
[20:22] <saste> basically you need to specify a log callback
[20:22] <Borys> I'll check it out
[20:32] <Borys> It is the av_log_set_callback function, right?
[20:32] <ska> Ok, I installed the "real" ffmpeg: http://pastie.org/8427546
[20:46] <ska> Now my recording hangs on libpostproc : http://paste.debian.net/61323/
[20:48] <llogan> ska: never seen that one before...
[20:49] <llogan> and the 0.10 branch is considered old
[20:53] <llogan> are you doing this via x11 forwarding?
[20:54] <ska> No, just on same system
[20:55] <llogan> try -s 1920x1200 instead of the xwininfo stuff
[20:56] <ska> llogan: Same result.. I thought of that too.
[20:56] <ska> I have the strace of the place it hangs..
[20:56] <llogan> damn, because for me the xwininfo output is not a useable format
[20:57] <llogan> the next step is to confirm that ffmpeg from git head does or does not work. the guide i linked to does not interfere with system
[20:58] <llogan> and you can skip all external libraries except yasm and libx264 (and you probably want libfdk-aac)
[21:00] <llogan> damn. ubuntu 13.10 is out already and now i have to test it for that guide...
[21:01] <Borys> What's the best (fastest w/ moderate quality) non-gpl encoding library? I was going to use libx264, but the licensing fee is too much for me to be able to afford.
[21:01] <Borys> sorry, codec, not library
[21:07] <Borys> saste: I was able to get the logging working!
[21:07] <Borys> http://pastebin.com/66ce9xEf
[21:11] <plm> HLS can have as input a rtsp video?
[21:12] <plm> actually I have this # ./ffmpeg -y -i sintel_trailer-480p.mp4 -pix_fmt yuv420p -vcodec libx264 -acodec libfaac -r 25 -profile:v baseline -b:v 1500k -maxrate 2000k -force_key_frames 50 -s 640x360 -map 0 -flags -global_header -f segment -segment_list /var/www/hls/index_1500.m3u8 -segment_time 10 -segment_format mpeg_ts -segment_list_type m3u8 /var/www/hls/segment%05d.ts
[21:13] <plm> I would like to substitute the -i sintel_trailer-480p.mp4 by -i rtsp://192.168.0.2. That will works? I will have the segmentation on realtime video or with HLS need to be offline video?
[21:23] <llogan> you can always just give it a try
[21:31] <plm> llogan: I'm not have a real time video (rtsp) here. But I would like to know if are there logical HLS with real time video..
[21:37] <plm> ahaha I try here -i http://192.168.0.3:8082 that is a real time video from camera, and ffmpeg don't stop to create segments. Why?
[21:37] <plm> So it are waiting final file in http to not create more files HLS?
[21:38] <plm> So HLS not works with real time video?
[21:47] <Shiba> can someone explain to me or point me to documentation regarding why "--enable-nonfree" makes the resulting binary non-redistributable?
[21:49] <JEEBsv> that's what it is
[21:49] <JEEBsv> you are using code that you cannot feasibly mix with LGPL or GPL
[21:49] <JEEBsv> examples: fdk-aac needs you to license AAC to distro, faac and aac+ are just plain incompatible
[21:53] <Shiba> a-ha.  So its a licensing (and thus a legal) issue regarding how certain modules are linked together in the resulting binary?
[21:55] <Shiba> presumably, though, content produced with the non-redistributabe binaries is itself redistributable
[21:56] <Shiba> i.e. if I produce a video and encode it with such a build of ffmpeg, no restrictions are placed on the video itself?
[21:59] <pzich> anyone familiar with getting an iOS-friendly h.264 video?
[22:00] <llogan> pzich: which device(s)?
[22:00] <pzich> iPad 2+ primarily, iPhone if possible
[22:00] <llogan> which iPhone(s)?
[22:00] <pzich> probably 4+
[22:01] <pzich> I finally got this working correctly with Quicktime on desktop using the yuv420p pixel format, but it's still failing to work on iPad
[22:01] <pzich> also, this served via a <video> tag
[22:02] <llogan> main profile, level 3.1
[22:02] <llogan> maybe some other restrictions
[22:02] <llogan> as well
[22:02] <pzich> I'll check it out, thanks
[22:03] <llogan> consider adding "-movflags +faststart"
[22:03] <pzich> does that do the same as the qt-faststart tool?
[22:03] <llogan> yes
[22:03] <pzich> ah, nice
[22:04] <llogan> pastebin your command and complete output if you want suggestions, flames, etc
[22:04] <pzich> yeah, I'll try fiddling with this and get back to you
[22:06] <llogan> pzich: i added a chart here https://trac.ffmpeg.org/wiki/x264EncodingGuide#Compatibility
[22:06] <llogan> s/chart/table
[22:07] <llogan> that page is getting messy. i blame rogerdpack.
[22:07] <pzich> ah excellent, I was just going to ask if there was a chart like that
[22:07] <llogan> i stole it from apple
[22:19] <pzich> llogan: cool, this is working, thanks
[22:19] <pzich> looks like part of the problem was the annoying maximum video dimensions they set
[22:19] <pzich> can't play a video 2048px wide on there
[22:21] <llogan> pzich: see scale filter http://ffmpeg.org/ffmpeg-filters.html#scale
[22:21] <llogan> specifically "-1" and also -force_original_aspect_ratio
[22:24] <pzich> yeah, I figured out scaling, I was just hoping to use the same (larger) video we were using for desktop
[22:31] <Borys> I figured out my issue with libvpx: I had to disable the realtime only flag to get rid of error 22 on avcodec_open2
[22:32] <Borys> when working with vp8*
[23:44] <dbro> Trying to create AVPackets from a hardware encoder's output, getting a SIGFPE in av_interleaved_write_frame. See https://github.com/OpenWatch/FFmpegWrapper-Android/blob/master/FFmpegWrapper/jni/FFmpegWrapper.c#L196
[23:45] <dbro> using gdb w android's ndk is proving difficult, but I'm working on that as well. Thanks for the braincycles!
[00:00] --- Fri Oct 25 2013


More information about the Ffmpeg-devel-irc mailing list