On 1/21/13, jim morgenstern <[email protected]> wrote: > One [last] question: > > My 3 band image is in YUV422 pixel format so its in three 2D arrays . . . > is the CodecID still RAWIMAGE or is there a better or correct choice ?
codec id CODEC_ID_RAWVIDEO (you said uncompressed, this is only one possible) pix fmt PIX_FMT_YUV422P > > jm > >> -----Original Message----- >> From: [email protected] >> [mailto:[email protected]] >> On Behalf Of Paul B Mahol >> Sent: Monday, January 21, 2013 3:54 PM >> To: This list is about using libavcodec, libavformat, libavutil, > libavdevice and >> libavfilter. >> Subject: Re: [Libav-user] How to specify output format >> >> On 1/21/13, jim morgenstern <[email protected]> wrote: >> > So this is the piece to the puzzle I am missing: >> > >> > * where does one set the output pixel format / video codec to >> > CODEC_ID_RAWVIDEO ? >> > I have >> >> > m_pOutputFormat = av_guess_format(NULL, filename, NULL); >> >> > m_pFormatContext = avformat_alloc_context(); >> >> > m_pFormatContext->oformat = m_pOutputFormat; >> > >> > So after I get a format context then I can go in and tweak the various >> > fields? >> >> m_pFormatContext->oformat->video_codec = CODEC_ID_RAWVIDEO. >> >> When initialzing encoder you specify pix_fmt: example: >> avctx->pix_fmt = PIX_FMT_YUV420P; >> >> There is example code: >> >> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/examples/muxing.c >> >> > Sure wish someone would write a book >> > >> > Thanks >> > >> > >> > >> >> -----Original Message----- >> >> From: [email protected] >> >> [mailto:[email protected]] >> >> On Behalf Of Paul B Mahol >> >> Sent: Monday, January 21, 2013 1:06 PM >> >> To: This list is about using libavcodec, libavformat, libavutil, >> > libavdevice and >> >> libavfilter. >> >> Subject: Re: [Libav-user] How to specify output format >> >> >> >> On 1/21/13, jim morgenstern <[email protected]> wrote: >> >> > Paul -- couple of problems >> >> > >> >> > I did as you suggested and specified the output file as: *.nut >> >> > ** ffmpeg associates the MPEG4 codec with this output and I want >> >> > uncompressed >> >> > ** the audio stream bombs >> >> > >> >> > Thanks for any help you can provide >> >> >> >> I said you must set video codec to rawvideo aka CODEC_ID_RAWVIDEO. >> >> >> >> > >> >> > Here is a code snippet, then screen output from ffmpeg: >> >> > ========= >> >> > >> >> > m_pOutputFormat = av_guess_format(NULL, filename, NULL); >> >> > m_pFormatContext = avformat_alloc_context(); >> >> > m_pFormatContext->oformat = m_pOutputFormat; >> >> > _snprintf_s(m_pFormatContext->filename, >> >> > sizeof(m_pFormatContext->filename), "%s", filename); >> >> > >> >> > // add the audio and video streams using the default format codecs >> >> > and initialize the codecs. >> >> > m_pAudioStream = NULL; >> >> > if (m_pOutputFormat->audio_codec != CODEC_ID_NONE) >> >> > { >> >> > m_pAudioStream = add_audio_stream(m_pFormatContext, >> >> > m_pOutputFormat->audio_codec, channels); >> >> > } >> >> > // and the abort comes from add_audio_stream >> ================== >> >> > >> >> > Starting MediaFileIO for D:\Data\Solavei.mov >> >> > >> >> > [mov,mp4,m4a,3gp,3g2,mj2 @ 00ad3320] Stream #1: not enough frames >> >> > to estimate ra te; consider increasing probesize >> >> > [mov,mp4,m4a,3gp,3g2,mj2 @ 00ad3320] Stream #2: not enough frames >> >> > to estimate ra te; consider increasing probesize >> >> > >> >> > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Data\Solavei.mov': >> >> > Metadata: >> >> > major_brand : qt >> >> > minor_version : 537199360 >> >> > compatible_brands: qt >> >> > creation_time : 2012-07-12 23:41:43 >> >> > Duration: 00:00:11.81, start: 0.000000, bitrate: 598161 kb/s >> >> > Stream #0:0(eng): Video: v210 (v210 / 0x30313276), yuv422p10le, >> >> > 1280x720, 59 >> >> > 6600 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc >> >> > Metadata: >> >> > creation_time : 2012-07-12 23:41:43 >> >> > handler_name : Apple Alias Data Handler >> >> > Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 >> >> > Hz, stereo, s1 6, 1536 kb/s >> >> > Metadata: >> >> > creation_time : 2012-07-12 23:41:43 >> >> > handler_name : Apple Alias Data Handler >> >> > Stream #0:2(eng): Data: none (tmcd / 0x64636D74) >> >> > Metadata: >> >> > creation_time : 2012-07-12 23:42:01 >> >> > handler_name : Apple Alias Data Handler >> >> > timecode : 00:00:28;11 >> >> > >> >> > >> >> > Starting MediaFileIO for => D:\Data\TestSol.nut Output #0, nut, to >> >> > 'D:\Data\TestSol.nut': >> >> > Stream #0:0: Video: mpeg4, yuv420p, 1280x720, q=2-31, 5942 >> >> > kb/s, 90k tbn, 29 tbc >> >> > Stream #0:1: Audio: vorbis, 44100 Hz, 1 channels, s16, 64 kb/s >> >> > [libvorbis @ 054e20c0] Specified sample_fmt is not supported. >> >> > >> >> > File Initialization Exception: output !! >> >> > MediaFileWriter::open_audio: Could not open audio codec //this is > my >> > app >> >> > error message >> >> >> >> You want to store audio? If yes. What codec? >> >> >> >> >> >> > >> >> > >> >> > >> >> > >> >> > >> >> >> -----Original Message----- >> >> >> From: [email protected] >> >> >> [mailto:[email protected]] >> >> >> On Behalf Of Paul B Mahol >> >> >> Sent: Monday, January 21, 2013 11:26 AM >> >> >> To: This list is about using libavcodec, libavformat, libavutil, >> >> > libavdevice and >> >> >> libavfilter. >> >> >> Subject: Re: [Libav-user] How to specify output format >> >> >> >> >> >> On 1/21/13, jim morgenstern <[email protected]> wrote: >> >> >> > Paul >> >> >> > Thanks for the specifics. I don't like headerless so .raw and >> >> >> > .yuv are out. >> >> >> > >> >> >> > Hadn't heard of .nut; I don't understand your comment about >> >> >> > -vcodec >> >> > etc. >> >> >> > I am writing a C++ app not using the command line utilities. >> >> >> >> >> >> I mean video codec should be set to rawvideo. And pixel format for >> >> >> that >> >> > codec >> >> >> should be same as one detected in input. >> >> >> >> >> >> > >> >> >> > So what all do I need to know about .nut? Googled but cannot >> >> >> > find any definitions or spec for the file. Can you send a url? >> >> >> >> >> >> You really should not need know anything, you just set output >> >> >> format to >> >> > nut and >> >> >> it is all what is needed. I doubt you want nut spec if you gonna >> >> >> use >> >> > libavformat to >> >> >> read nut files. >> >> >> >> >> >> > >> >> >> > >> >> >> > >> >> >> >> -----Original Message----- >> >> >> >> From: [email protected] >> >> >> >> [mailto:[email protected]] >> >> >> >> On Behalf Of Paul B Mahol >> >> >> >> Sent: Monday, January 21, 2013 10:41 AM >> >> >> >> To: This list is about using libavcodec, libavformat, >> >> >> >> libavutil, >> >> >> > libavdevice and >> >> >> >> libavfilter. >> >> >> >> Subject: Re: [Libav-user] How to specify output format >> >> >> >> >> >> >> >> On 1/21/13, jim morgenstern <[email protected]> wrote: >> >> >> >> > So what Specifically is the specific format extension that I >> >> >> >> > give to ffmpeg that gives me the "raw video format" you cited? >> >> >> >> >> >> >> >> Headerless : .raw, .yuv (You need to remember pixel format and >> >> >> >> dimensions stored in it) >> >> >> >> >> >> >> >> With headers : .nut (You must use -vcodec rawvideo and -pix_fmt >> >> >> >> same as >> >> >> > your >> >> >> >> input video >> >> >> >> to keep video uncompressed) >> >> >> >> There are others like .avi, .. but they may not support >> >> >> >> pixel format >> >> >> > of your >> >> >> >> input video. >> >> >> >> >> >> >> >> > >> >> >> >> >> -----Original Message----- >> >> >> >> >> From: [email protected] >> >> >> >> >> [mailto:[email protected]] >> >> >> >> >> On Behalf Of Paul B Mahol >> >> >> >> >> Sent: Monday, January 21, 2013 9:50 AM >> >> >> >> >> To: This list is about using libavcodec, libavformat, >> >> >> >> >> libavutil, >> >> >> >> > libavdevice and >> >> >> >> >> libavfilter. >> >> >> >> >> Subject: Re: [Libav-user] How to specify output format >> >> >> >> >> >> >> >> >> >> On 1/21/13, jim morgenstern <[email protected]> wrote: >> >> >> >> >> >>> where can I find the list of formats and their >> >> >> >> >> >>> extensions? >> >> >> >> >> >> In the source code >> >> >> >> >> > >> >> >> >> >> > Yes but the source code is hundreds of files; can you >> >> >> >> >> > tell me which one has the list and the mapping? >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> >> > . What is your recommended format for uncompressed >> HD >> >> >> video >> >> >> > ? >> >> >> >> >> >> >> >> >> >> >> >> libx264 is the state of the art encode >> >> >> >> >> > >> >> >> >> >> > But I do not want any encoding or compression: I want >> >> >> >> >> > flat file that can be read later on for more processing. >> >> >> >> >> > So is there a recommendation for a particular file format >> >> >> >> >> > that does >> > this? >> >> >> >> >> >> >> >> >> >> Depends on what you gonna use for more processing later. >> >> >> >> >> Depending on available storage and CPU speed you could use >> >> >> >> >> raw video formats... >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> >> -----Original Message----- >> >> >> >> >> >> From: [email protected] >> >> >> >> >> >> [mailto:[email protected]] >> >> >> >> >> >> On Behalf Of Stefano Sabatini >> >> >> >> >> >> Sent: Monday, January 21, 2013 7:50 AM >> >> >> >> >> >> To: This list is about using libavcodec, libavformat, >> >> >> >> >> >> libavutil, >> >> >> >> >> > libavdevice and >> >> >> >> >> >> libavfilter. >> >> >> >> >> >> Subject: Re: [Libav-user] How to specify output format >> >> >> >> >> >> >> >> >> >> >> >> In data Saturday 2013-01-19 01:55:22 -0500, Jim >> >> >> >> >> >> Morgenstern ha >> >> >> >> >> >> scritto: >> >> >> >> >> >> > I have C++ app [win 7] that is reading and writing >> >> >> >> >> >> > video/audio >> >> >> >> > stream. >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > When I specify the output file as xxxx.MOV I am getting >> >> >> >> >> >> > H264 compressed video at 24 fps. >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > I want to have output as uncompressed at 30 or 60 fps >> >> >> >> >> >> > according to the input. >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > Some simple [I hope] questions: >> >> >> >> >> >> > >> >> >> >> >> >> > . What is [where can I find] the mapping between > file >> >> > name >> >> >> >> >> > extension >> >> >> >> >> >> > and format used? >> >> >> >> >> >> >> >> >> >> >> >> In the source code, or you can show the ".extensions" >> >> >> >> >> >> field for all the >> >> >> >> >> > registered >> >> >> >> >> >> AVInput/OutputFormats. >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> > . Can I specify the output format I want rather > than >> >> > using >> >> >> >> >> >> > av_guess_format ? all the tutorials use guess >> >> >> >> >> >> >> >> >> >> >> >> Yes, you need to specify avformat_alloc_output_context2() >> >> >> >> >> >> and rely on oformat/format_name parameters, or use >> >> >> >> >> >> av_guess_format(). >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> > . What is your recommended format for uncompressed >> HD >> >> >> video >> >> >> > ? >> >> >> >> >> >> >> >> >> >> >> >> libx264 is the state of the art encoder (but it has >> >> >> >> >> >> licensing >> >> >> >> >> > constraints). >> >> >> >> >> >> _______________________________________________ >> >> >> >> >> >> Libav-user mailing list >> >> >> >> >> >> [email protected] >> >> >> >> >> >> http://ffmpeg.org/mailman/listinfo/libav-user >> >> >> >> >> > >> >> >> >> >> > _______________________________________________ >> >> >> >> >> > Libav-user mailing list >> >> >> >> >> > [email protected] >> >> >> >> >> > http://ffmpeg.org/mailman/listinfo/libav-user >> >> >> >> >> > >> >> >> >> >> _______________________________________________ >> >> >> >> >> Libav-user mailing list >> >> >> >> >> [email protected] >> >> >> >> >> http://ffmpeg.org/mailman/listinfo/libav-user >> >> >> >> > >> >> >> >> > _______________________________________________ >> >> >> >> > Libav-user mailing list >> >> >> >> > [email protected] >> >> >> >> > http://ffmpeg.org/mailman/listinfo/libav-user >> >> >> >> > >> >> >> >> _______________________________________________ >> >> >> >> Libav-user mailing list >> >> >> >> [email protected] >> >> >> >> http://ffmpeg.org/mailman/listinfo/libav-user >> >> >> > >> >> >> > _______________________________________________ >> >> >> > Libav-user mailing list >> >> >> > [email protected] >> >> >> > http://ffmpeg.org/mailman/listinfo/libav-user >> >> >> > >> >> >> _______________________________________________ >> >> >> Libav-user mailing list >> >> >> [email protected] >> >> >> http://ffmpeg.org/mailman/listinfo/libav-user >> >> > >> >> > _______________________________________________ >> >> > Libav-user mailing list >> >> > [email protected] >> >> > http://ffmpeg.org/mailman/listinfo/libav-user >> >> > >> >> _______________________________________________ >> >> Libav-user mailing list >> >> [email protected] >> >> http://ffmpeg.org/mailman/listinfo/libav-user >> > >> > _______________________________________________ >> > Libav-user mailing list >> > [email protected] >> > http://ffmpeg.org/mailman/listinfo/libav-user >> > >> _______________________________________________ >> Libav-user mailing list >> [email protected] >> http://ffmpeg.org/mailman/listinfo/libav-user > > _______________________________________________ > Libav-user mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/libav-user > _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
