Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
iOS FFmpeg : Requested output format 'flv' is not a suitable output format
14 novembre 2013, par user2992563I just upgraded my iOS compiled FFmpeg library to 1.2.1 and now I'm getting the following error message: Requested output format 'flv' is not a suitable output format.
I tried changing format to 'avi' and 'mov' aswell, but it seems that no matter the format_name I pass I get the same error message.
This is how I set up the format_name:
avformat_alloc_output_context2(&file, NULL, "flv", cname)
And this is how I write the stream packets:
// Appends a data packet to the rtmp stream -(bool) writePacket: (Demuxer *) source { int code = 0; AVCodecContext *videoCodec = [source videoCodec], *audioCodec = [source audioCodec]; // Write headers if(useHeaders) { AVStream *video = av_new_stream(file, VIDEO_STREAM), *audio = av_new_stream(file, AUDIO_STREAM); if (!video || !audio) @throw [NSException exceptionWithName: @"StreamingError" reason: @"Could not allocate streams" userInfo: nil]; // Clone input codecs and extra data memcpy(video->codec, videoCodec, sizeof(AVCodecContext)); memcpy(audio->codec, audioCodec, sizeof(AVCodecContext)); video->codec->extradata = av_malloc(video->codec->extradata_size); audio->codec->extradata = av_malloc(audio->codec->extradata_size); memcpy(video->codec->extradata, videoCodec->extradata, video->codec->extradata_size); memcpy(audio->codec->extradata, audioCodec->extradata, audio->codec->extradata_size); // Use FLV codec tags video->codec->codec_tag = FLV_TAG_TYPE_VIDEO; audio->codec->codec_tag = FLV_TAG_TYPE_AUDIO; video->codec->flags |= CODEC_FLAG_GLOBAL_HEADER; video->codec->flags |= CODEC_FLAG_GLOBAL_HEADER; audio->codec->sample_rate = INPUT_AUDIO_SAMPLING_RATE; // Update time base video->codec->time_base.num = 1; audio->codec->time_base.den = video->codec->time_base.den = FLV_TIMEBASE; // Signal bitwise stream copying //video->stream_copy = audio->stream_copy = 1; if((code = avformat_write_header(file, NULL))) @throw [NSException exceptionWithName: @"StreamingError" reason: @"Could not write stream headers" userInfo: nil]; useHeaders = NO; } bool isVideo; AVPacket *packet = [source readPacket: &isVideo]; if(!packet) return NO; if(isVideo) { packet->stream_index = VIDEO_STREAM; packet->dts = packet->pts = videoPosition; videoPosition += packet->duration = FLV_TIMEBASE * packet->duration * videoCodec->ticks_per_frame * videoCodec->time_base.num / videoCodec->time_base.den; } else { packet->stream_index = AUDIO_STREAM; packet->dts = packet->pts = audioPosition; audioPosition += packet->duration = FLV_TIMEBASE * packet->duration / INPUT_AUDIO_SAMPLING_RATE; } packet->pos = -1; packet->convergence_duration = AV_NOPTS_VALUE; // This sometimes fails without being a critical error, so no exception is raised if((code = av_interleaved_write_frame(file, packet))) NSLog(@"Streamer::Couldn't write frame"); av_free_packet(packet); return YES; }
In the code above I had to comment out this line as stream_copy has been removed from the newest version of FFmpeg:
video->stream_copy = audio->stream_copy = 1;
Any help would be greatly appreciated!
-
Connecting to RTSP stream via FFMpeg - 'could not find codec parameters for stream 0'
14 novembre 2013, par user2992545I'm a beginner in the FFMpeg world, so please excuse me my overall level of knowledge and any mistakes.
What I have here is a DVR, made by ITX Security. I have an SDK for it and currently I'm trying to connect to its RTSP using FFMPEG. I've been partially succesfull (i think), the best what I got was:
`(...)bin>ffplay -user-agent "ITX Security" rtsp://ADMIN:1234@192.168.2.130:5554/live/ [rtsp @ 02a242e0] UDP timeout, retrying with TCPB sq=0B f=0/0 [rtsp @ 02a242e0] method PAUSE failed: 501 Not Implemented [rtsp @ 02a242e0] Could not find codec parameters for stream 0 (Video: h264):unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options rtsp://ADMIN:1234@192.168.2.130:5554/live/: could not find codec parameters nan: 0.000 fd=0 aq= 0KB vq= 0KB sq= 0B f=0/0`
Is it really indicating that it has trouble in playing the stream (because it lacks a proper codec?) - or am I just not getting the point?
I've captured traffic between my computer and the DVR in question, and something is happening (at least that's what Wireshark says).
https://www.dropbox.com/s/j65lige244kg8jt/rtsp_ffmpeg.pcap
What am I doing wrong?
Regards.
-
ffmpeg minimal requirements configuration for encoding and decoding h264 files
14 novembre 2013, par TheSquadI'm trying to compile ffmpeg with minimal requirements in order to encode/decode with h264.
So far my command line configuration is :
./configure --disable-yasm --disable-everything --enable-encoder=libx264 --enable-encoder=libfaac --enable-decoder=h264 --enable-muxer=h264 --enable-demuxer=h264 --enable-parser=h264 --enable-protocol=file
once compiled, I try this :
./ffmpeg -i ~/Dropbox/TestFile.mov -vcodec libx264 test.mp4
but I get an error :
ffmpeg version N-58081-g2925571 Copyright (c) 2000-2013 the FFmpeg developers built on Nov 14 2013 15:49:58 with Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn) configuration: --disable-yasm --disable-everything --enable-encoder=libx264 --enable-encoder=libfaac --enable-decoder=h264 --enable-muxer=h264 --enable-demuxer=h264 --enable-parser=h264 --enable-protocol=file libavutil 52. 52.100 / 52. 52.100 libavcodec 55. 43.100 / 55. 43.100 libavformat 55. 21.100 / 55. 21.100 libavdevice 55. 5.100 / 55. 5.100 libavfilter 3. 91.100 / 3. 91.100 libswscale 2. 5.101 / 2. 5.101 libswresample 0. 17.104 / 0. 17.104 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/mGs/Dropbox/TestFile.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2013-06-23 14:33:09 model : iPhone 4S model-fra : iPhone 4S encoder : 6.0 encoder-fra : 6.0 date : 2013-06-23T16:33:09+0200 date-fra : 2013-06-23T16:33:09+0200 make : Apple make-fra : Apple Duration: 00:00:42.09, start: 0.000000, bitrate: 20960 kb/s Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 20880 kb/s, 29.97 fps, 29.97 tbr, 600 tbn, 1200 tbc (default) Metadata: rotate : 180 creation_time : 2013-06-23 14:33:09 handler_name : Core Media Data Handler Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, 63 kb/s (default) Metadata: creation_time : 2013-06-23 14:33:09 handler_name : Core Media Data Handler [NULL @ 0x7fd999802e00] Unable to find a suitable output format for 'test.mp4' test.mp4: Invalid argument
This is probably coming from the fact that I have forgot something to enable on the ffmpeg configuration... But I can't found out what.
The test file is a video got from iPhone 4S Camera.
-
Video Concatnation using javacv
14 novembre 2013, par bindalI have integrated this Javacv for concatenating 2 videos this code works find when i was using 2 videos recorded from rear camera,but when i record 1 video with front cameara and another with rear camera then another half video is rotated upside down Is there any specific settings while recording from front camera,
I have used this library from github https://github.com/sourab-sharma/TouchToRecord
Here is the recording file Video Recording
Please give me some solution on this
Thanks
-
pjsip build for iOS 5, won't make
14 novembre 2013, par user1423591I retrieved the latest build from the SVN trunk on Friday and attempted to build following the directions on the getting started wiki.
make
dep seems to execute without any problems, but make fails on Samples.mak. It appears there are no rules to make any of the samples when the platform is "arm-apple-darwin9".If I open the
Xcode
project at this point,libavcodec
and all it's related libraries are missing as well asLibSDL
. There's not mention of a requirement to install SDL andffmpeg
beforehand, so not sure what to do there.