How can I mux (or encapsulate) H.264 RTP output into a container using FFMPEG? -


i working on effects of network losses in video transmission. in order simulate network losses use simple program drops random rtp packets output of h.264 rtp encoding.

i use joint model (jm) 14.2 in order encode video. however, don't use annexb format output, instead choose output rtp packets. jm output generated rtp packets rtp headers , payload sequence. after that, of rtp packets dropped using simple program. then, can decode output bitstream using jm , it's error concealment methods.

the main purpose of process evaluate differences created network losses on human video quality perception. in order measure perceived quality, shown video must in decoded form (i.e. full resolution) or can decodable @ receiver side. rtp packets created jm encoder cannot decoded without jm software installed. however, proper header (or container) video players able decode bitstream. so, goal in question encapsulate encoded rtp packet bitstream in common container such avi or mp4 have content decodable @ receiver computer.

the format of encoded bitstream in rtp packetized form follows:

     ----------------------------------------------------------------------      | rtp header #1 | rtp payload #1 | rtp header #2 | rtp payload #2 |...      ---------------------------------------------------------------------- 

in order find video quality, want make subjective test these bitstreams. can make these test using full resolution data decoded myself whereas it's inconvenient crowdsource subjective test gbs of video data on internet. so, want mux these bitstreams container (i.e. avi) using ffmpeg. have tried decode these bitstreams ffmpeg , ffplay; however, both of them didn't work. tried following command , didn't work, either.

    ffmpeg - f h264 -i <raw_rtpdropped.264> -vcodec copy -r 25 out.avi 

which format or muxer should use? need convert these files other format?

i think i'll attempt convince once more: encoding method of taking raw video , compressing it. reduces size of video, want, , reduces quality (you can't nothing). multiplexing term used in many sciences, , means taking 2 or more data streams , turning them 1. when mux video, mean take encoded video , add audio, or video put in container such mpeg2 transport, or mpeg4 iso based containers. avi container/ multiplex of video (hence name audio video interleave) not solve issue gb of data. wikipedia: "an avi file may carry audio/visual data inside chunks in virtually compression scheme, including full frame (uncompressed), intel real time (indeo), cinepak, motion jpeg, editable mpeg, vdowave, clearvideo / realvideo, qpeg, , mpeg-4 video."


Comments

Popular posts from this blog

css - Which browser returns the correct result for getBoundingClientRect of an SVG element? -

gcc - Calling fftR4() in c from assembly -

Function that returns a formatted array in VBA -