簡體   English   中英

將流式MPEG-4原始數據轉換為H.264

[英]Convert streaming MPEG-4 raw data to H.264

我有一台索尼網絡攝像機(SNC-RZ25N),我正在拼命地以某種有意義的格式獲取數據。 該文檔說它發送MPEG-4原始數據,但並不比具體數據更具體。 我可以使用curl( http://techhead.biz/media/tsv.m4v )捕獲流的一部分,它將使用VLC和ffplay播放(雖然它在ffplay中播放得太快)。

經過一天半的修補,我發現我無法使用ffmpeg直接轉換此流。 首先,ffmpeg接受管道數據作為輸入(我知道)的唯一方法是'yuv4mpegpipe'格式。

我嘗試使用'm4v'作為指定格式來管道到ffmpeg,但它似乎想要在開始處理之前讀取整個流。

誰知道我怎么做到這一點? 使用命令行工具? 用任何編程語言開源庫? 更簡單的解決方案是首選,但任何有效的解決方案都會很棒。

看來mplayer可以通過HTTP播放你的m4v文件,至少你的樣本文件可以正常工作:

mkfifo /tmp/fifo
mplayer -benchmark -vo yuv4mpeg:file=/tmp/fifo http://techhead.biz/media/tsv.m4v
ffmpeg -f yuv4mpegpipe -i /tmp/fifo -vcodec libx264 -vpre libx264-hq /tmp/foo.mp4

(-benchmark告訴mplayer忽略幀持續時間,可能需要也可能不需要)

或者,只使用mencoder:

mencoder -o /tmp/foo.avi -of avi -ovc x264 -x264encopts bitrate=250 http://techhead.biz/media/tsv.m4v

最后,如果您實際上不需要H.264,您可以將現有的MPEG-ES數據放入您需要的任何容器格式中; MP4Box可能能夠做到這一點,並且ffmpeg和mencoder可以支持輸出格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM