hello,

i want to know if the program support this files type:

Video:
3gp - 3GPP Multimedia File
aac - Advanced Audio Coding File
ac3 - AC3 Audio File
avi - Windows video file
flac - Free Lossless Audio Codec
flv - Flash Video
ipod - MPEG-4 Video File
mov - Apple QuickTime Movie
mp3 - Compressed audio file
mp4 - MPEG-4 Video File
mpg - Moving Picture Experts Group File
ogg - Ogg Vorbis Compressed Audio File
wav - Windows audio file
wmv - Windows M

Audio:
ac3 - AC3 Audio File
flac - Free Lossless Audio Codec
m4a - MPEG-4 Video File
mp3 - Compressed audio file
mp4 - MPEG-4 Video File
ogg - Ogg Vorbis Compressed Audio File
wav - Windows audio file
wma - Windows media file ac3 - AC3 Audio File aac - Advanced Audio Coding
File


2010/2/5 wl2776 <[email protected]>

>
>
> chcat wrote:
> >
> > what is relation between the data written into "buffer" and AVPacket data
> > type?
> >
> buffer contains raw data (bytestream), which are suitable only for writing
> to the storage.
> AVPacket contains a valid frame (or one or several audio samples) plus some
> information, which libav*
> has retrieved from the input file, or guessed, or something like.
>
>
> chcat wrote:
> >
> > To be more specific: can I get pts from that data , like
> > (AVPacket*)buffer->pts , or
> >
> Generally, no.
> However, your function has the opaque pointer, which can point to your
> specific data, which your application can fill in any desired way. For
> example this can be a pointer to the class instance.
>
>
> chcat wrote:
> >
> > does the "buffer" correspond to AVPacket->data , buffer_size =
> > AVpacket->size
> >
> Generally, no.
>
>
> chcat wrote:
> >
> > and all other data is lost?
> >
> Something is stored in the libav* internals, but generally, there is no
> public API to get or set these data.
>
>
> chcat wrote:
> >
> > I have to re- mux data in "buffer" into different container format and
> > wonder how to obtain pts value....
> >
> Probably, you're misunderstanding this function purpose. The ByteIOContext
> functions are on the bottom layer, they are used in place of usual read()
> or
> write(), which simply put data to disk.
> If you want to remux your data, you should set up another AVFormatContext
> for output, create the streams with av_new_stream() and use
> av_interleaved_write_frame.
>
> Your application skeleton should look like the following.
>
> AVPacket pkt;
> AVFormatContext *input;
> AVFormatContext *output;
>
> init_input();
> init_output();
>
> while(!exiting()){
>  av_read_frame(input, &pkt);
>  do_something_with_pkt_pts_and_dts(&pkt);
>  if(packet_to_be_written(&)){
>    reassign_pkt_stream_index(&pkt); //pkt.stream_index should be in [0 ..
> nb_streams from your output -1 ]
>    av_interleaved_write_frame(output,&pkt);
>  }
>  av_free_packet(&pkt);
> }
>
> --
> View this message in context:
> http://n4.nabble.com/custom-IO-routine-and-pts-tp1461671p1470006.html
> Sent from the libav-users mailing list archive at Nabble.com.
> _______________________________________________
> libav-user mailing list
> [email protected]
> https://lists.mplayerhq.hu/mailman/listinfo/libav-user
>
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to