Log in

View Full Version : muxing raw h.264 and aac using manzanita muxer.


Prathamesh
17th September 2015, 18:59
Hi,

:helpful: My first post on this forum. I used the below command to get raw h.264 video file and aac audio file from source mp4 video.

fmpeg -i s1.mp4 -acodec aac -strict -2 -b:a 128k testA.aac -vcodec libx264 -r 30000/1001 -s 720x480 -aspect 16:9 -profile:v main -level:v 3.1 -x264opts aud:force-cfr:ref=1:keyint=15:min-keyint=15:scenecut=-1:bframes=2:b-adapt=0:b-pyramid=none:weightb=0:weightp=0 -b:v 1500k -minrate 1500k -maxrate 1500k -bufsize 1835k -nal-hrd cbr -f h264 testA.h264

the output h.264 file plays well, but shows no duration in mediainfo.

I muxed the audio and video into Mpeg 2 TS using Manzanita mp2tsme, the muxed file plays well on the pc, but when checking with ts analyzer it shows error "video end of bitstream units not found"

Can somebody kindly help me in finding a solution for this. I dont have deep knowledge of h264/ffmpeg, but is this error because of raw h.264 stream?

Thanks & Regards.

videoh
17th September 2015, 19:10
Welcome to the forum!

It means there are no end-of-sequence and/or end-of-stream NALUs in the AVC elementary stream. They are optional and their absence is harmless.

Prathamesh
19th September 2015, 07:00
Hi videoh,

can you pls suggest any option i can use in ffmpeg, which would add the eos NAL units.

I had faced Access unit delimiters not found error, which was solved after using the -x264opts aud command.

Is there anything similar for eos?

videoh
19th September 2015, 12:20
I don't know much about ffmpeg so hopefully someone else can answer that.

Why is it so important to you to have those NALUs present? AUD NALU's are mandatory for muxing to a transport stream but the others are not.

Prathamesh
19th September 2015, 12:29
My client has reported that the video file is not working on his device.

Earlier we used Digital Rapids streamz for the encoding stuff. then muxed them using Manzanita ts muxer. Those files worked perfectly.

I wanted to see if I encoded using ffmpeg and muxed in ts using Manzanita muxer, would the file work on the clients device.

Unfotunately, it doesnt. The client sent a feedback that the ts analyzer throws an error "no end of stream units found" so the file doesnt play.

If anybody can pls help, I would really appreciate it.

videoh
20th September 2015, 21:19
It would be simple to manually append an EOS NALU to the raw stream before muxing. Just add the needed bytes at the end with a binary editor.