Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
Improve the quality of webm video using ffmpeg
3 octobre 2013, par LekeI'm trying out two codecs and was wondering if I could improve the results of the webm output ...
ffmpeg -i test.ts -t 10 -f webm -vcodec libvpx output.webm
to match the quality of the mp4 output...
ffmpeg -i test.ts -t 10 -b 1500k -vcodec libx264 output.mp4
What settings would give me the best webm rip?
Thanks.
Edit: Here is an error output when trying some rip improvements...
ffmpeg -i test.ts -c:v libvpx -crf 4 -b:v 1M -c:a libvorbis output.webm ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers built on Apr 2 2013 17:00:59 with gcc 4.6.3 *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. [mpeg2video @ 0x9cde5c0] mpeg_decode_postinit() failure Last message repeated 4 times [mpegts @ 0x9cda240] max_analyze_duration reached [mpegts @ 0x9cda240] PES packet size mismatch Input #0, mpegts, from 'test.ts': Duration: 00:03:59.53, start: 4630.845422, bitrate: 1977 kb/s Stream #0.0[0x20b]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 64:45 DAR 16:9], 15000 kb/s, 25.60 fps, 25 tbr, 90k tbn, 50 tbc Stream #0.1[0x28f]: Audio: mp2, 48000 Hz, stereo, s16, 224 kb/s Unrecognized option 'c:v' Failed to set value 'libvpx' for option 'c:v'
-
Android : How to convert WAV/PCM to another audio format without MediaCodec API
3 octobre 2013, par khelkunI've searched around the web and stackoverflow during a long time about this subject. I know it has been discussed many times but I'm looking for a friendly opinion on my use case.
I have a vocal dictation application which uses android.media.AudioRecord. It allows me to edit the recorded raw PCM buffer: insert a new record inside it, delete a certain period in the record, append a new record at the end. The result is a WAV file, but it's a bit too big file for my needs, so I want to convert it to smaller file format.
android.media.MediaCodec could have been the solution, but it requires API level 16 which is a too high restriction in my situation.
It sounds to me that I only have 2 options:
Use the NDK and an android portage of ffmpeg like the guardian project android-ffmpeg-java. But this solution sounds a bit too hard for me so far.
Recording with android.media.MediaRecorder to output an audio 3GPP file encoded with the AMR_NB encoder. Then I'll have to understand this 3GPP file header and the AMR_NB format in details to be able to perform the audio editing operations on my record.
I must also add that creating a zip file of the WAV file is not a valid option for me.
Does someone know another option please ? And is option 2. actually possible to achieve ?
Thanks for your time!
-
How to i convert mp4 and other video formats to 3gpp in c# [on hold]
3 octobre 2013, par viniI am not able to find any resources for conversion of mp4 and other formats into 3gpp
I know we can use the
ffmpeg.exe
but can't find any proper resources would be great if some one could help out. -
Ffmpeg decode H264 video from RTP stream very slow
3 octobre 2013, par Dmitry BakhtiyarovI have H264 RTP stream over network and I need to decode it. I use libx264 to encode stream and ffmpeg to decode. When I connect to server using VLC, it correct play video without any problem. But when I connect to server using my application I have a long period, when widget, which draw video from this stream, draw only one image.
I check log file and found, that avcodec_decode_video2() set got_image into 1 very rarely! Decoder give me new decoded frame average every 1-2 seconds, but on the server I have 12-15 fps on encoder!
What the reasons of this delays on decoder and how I can fix its?
avcodec_register_all(); av_init_packet(&m_packet); m_decoder = avcodec_find_decoder(CODEC_ID_H264); if (!m_decoder) { QString str = QString("Can't find H264 decoder!"); emit criticalError(str); } m_decoderContext = avcodec_alloc_context3(m_decoder); m_decoderContext->flags |= CODEC_FLAG_LOW_DELAY; m_decoderContext->flags2 |= CODEC_FLAG2_CHUNKS; AVDictionary* dictionary = nullptr; if (avcodec_open2(m_decoderContext, m_decoder, &dictionary) < 0) { QString str = QString("Failed to open decoder!"); emit criticalError(str); } qDebug() << "H264 Decoder successfully opened"; m_picture = avcodec_alloc_frame(); ... while(m_packet.size > 0) { int got_picture; int len = avcodec_decode_video2(m_decoderContext, m_picture, &got_picture, &m_packet); if (len < 0) { QString err("Decoding error"); qDebug() << err; //emit criticalError(err); return false; } if (got_picture) { //create from frame QImage and send it into GUI thread qDebug() << "H264Decoder: frame decoded!";
I try to change some options of m_decoderContext (i.e. thread_count) but this not changing anything.
-
FFMPEG : could not run filter error
3 octobre 2013, par VigoI have static builds for FFMPEG. I run a video streaming command from the console. I get a 'could not run filter error'.
What are the generic causes of this error? Is it an issue with the parameters passed or is it something to do with the video capturing device (in my case, Webcam) itself? Could anyone throw some light on this?