當前位置:首頁 » 存儲配置 » ffmpeg存儲

ffmpeg存儲

發布時間: 2022-04-24 13:29:39

A. python3 如何存儲ffmpeg獲取到的音頻文件信息,它是列印出來的。

搜一下:python3
如何存儲ffmpeg獲取到的音頻文件信息,它是列印出來的。

B. ffmpeg怎麼把編碼好的h264幀存入ts文件里

僅轉換可以使用命令,把任一mp4轉換成ts
ffmpeg -i input.mp4 -c -bsf h264_mp4toannexb output.ts 很高興為您解答!
有不明白的可以追問!如果您認可我的回答。
請點擊下面的【選為滿意回答】按鈕,謝謝!

C. 如何用ffmpeg將rtsp視頻流錄製成mp4文件

ffmpeg -y -i rtsp:\\192.168.1.188:8089\test -vcodec -acodec -f mp4 e:\x.mp4

D. 請問ffmpeg解碼出來的視頻數據保存在哪我用avcodec_decode_video方法解碼後解碼出得數據放在哪裡的呢

avcodec.h中
int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
int *got_picture_ptr,
const AVPacket *avpkt);
解碼後的數據保存在picture中。。。

E. 如何用ffmpeg錄像並存儲到本地

您好,您試試:
ffmpeg -f video4linux -s 320*240 -r 10 -i /dev/video0 test.asf

運行的結果是
FFmpeg version SVN-r16967, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --enable-pthreads --enable-x11grab --enable-memalign-hack --enable-gpl --enable-libmp3lame --disable-vhook
libavutil 49.14. 0 / 49.14. 0
libavcodec 52.11. 0 / 52.11. 0
libavformat 52.25. 0 / 52.25. 0
libavdevice 52. 1. 0 / 52. 1. 0
built on Feb 3 2009 15:22:03, gcc: 4.3.2
Input #0, video4linux, from '/dev/video0':
Duration: N/A, start: 1233715988.062058, bitrate: 9216 kb/s
Stream #0.0: Video: rawvideo, yuv420p, 320x240, 9216 kb/s, 10.00 tb(r)
Output #0, asf, to 'test.asf':
Stream #0.0: Video: msmpeg4, yuv420p, 320x240, q=2-31, 200 kb/s, 10.00 tb(c)
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
VIDIOCMCAPTURE: Invalid argument
frame= 1 fps= 0 q=6.5 Lsize= 32kB time=0.10 bitrate=2594.5kbits/s
video:28kB audio:0kB global headers:0kB muxing overhead 11.194542%

F. 怎麼查看ffmpeg源文件存放的位置

源文件指
Database應文件(.MDF, .LDF)

G. 如何隨機抽取每段視頻畫面中的一幀保存為圖片格式

  • 打開FFmpeg軟體的官方網站http://ffmpeg.org/,點擊"Download"下載按鈕就如下載詳情頁

H. Java利用ffmpeg對視頻逐幀保存,截取的幀太多近萬張,如何設置幀間隔大些,使一定時間內的幀數變少

我給出正解:

ffmpeg -i /mnt/11m夜店_H264.vod /mnt/h264/ffmpeg-0.5.1/picture/1m%04d.jpg -vcodec mjpeg -ss 0:1:2 -t 0:0:1

以上將視頻 1分02秒 處開始,持續1秒長的視頻輸出為jpg的序列
-ss 起始時間
-t 持續時間。

如果你要從片頭開始,轉換前2分鍾為圖片序列,則是:
ffmpeg -i /mnt/11m夜店_H264.vod /mnt/h264/ffmpeg-0.5.1/picture/1m%04d.jpg -vcodec mjpeg -ss 0:0:0 -t 0:2:0

另外告訴你,輸出的圖片數量是25/s的

I. 如何使用ffmpeg庫把從攝像頭傳回的bmp圖像不斷保存成視頻

使用ffmpeg編碼....

J. 如何用nginx+ffmpeg實現蘋果HLS協議

大致敘述的內容包括:

HLS協議的理解
nginx ffmpeg的編譯 安裝 調試,以及工具的選擇 使用 gdb等
nginx模塊開發
ffmpeg的開發
重點將集中在 ffmpeg 的開發上。

HLS協議的實現有很多的細節,比如我在實際的開發過程中,就面臨將多種不同格式的視頻源文件(來源於不同的編碼器以及有不同的profile)動態切片輸出。而現有能在網上找到的方式基本都是對視頻文件做了預先處理,比如用ffmpeg將視頻文件先轉換成物理存儲的mpeg2ts文件,然後用nginx進行動態切片輸出。這對開發帶來了很大的困難。
如果我們將問題簡化的話,即 輸入文件為 mp4 (isom512 , 2 channels stereo),那麼最簡單的實現方式是如下命令行:
avconv -i input_file.mp4 -vcodec -acodec -vbsfh264_mp4toannexb –ss00:00:00–t00:00:10 output_file.ts
然後通過 對 參數 –ss00:00:00 –t00:00:10 的調整,獲得多個物理切片,提供給nginx輸出。

這里需要提供一個細節,即 處理的性能。 所以在上述的命令行中,僅僅進行了 remux 而沒有任何 ecode 和 decode 的操作。
我們要做的,就是將這行命令變成 可供 nginx 調用的 api。

當然,任然可以選擇最簡單的作法,nginx模塊裡面調用系統命令。不過這樣子,貌似有點兒寒磣吧。呵呵。

所以,我們需要的是這樣一個介面:
int segment(byte** output, int *output_len, int start, int end, const char * inputfile)

從命令行到介面方法,第一步就是弄懂ffmpeg如何解析命令行參數並賦值

ffmpeg參數解析
——此文檔為《如何用nginx+ffmpeg實現蘋果HLS協議》的一個章節。
謝絕對非技術問題的修改,轉載請註明來源
繼續以命令行
avconv -i input_file.mp4 -vcodec -acodec -vbsfh264_mp4toannexb –ss00:00:00–t00:00:10 output_file.ts
為例說明ffmpeg如何將命令行參數解析處理。

int main(int argc,char**argv)
{
//初始化參數容器
OptionsContext o={0};
//重置參數
reset_options(&o);
//解析參數
parse_options(&o, argc, argv, options,opt_output_file);
}

1.重置參數
staticvoid reset_options(OptionsContext*o)
依次進行了以下步驟:
1.1第一步:釋放特殊類型
釋放所有的 OPT_SPEC(對應struct SpecifierOpt)和 OPT_STRING (對應 char*)類型的OptionDef
代碼如下:
//指向全局變數options
const OptionDef*po= options;
//遍歷options
while(po->name){
//dest指針指向當前option對應的OptionContext中的位置
void*dst=(uint8_t*)o+ po->u.off;
//判斷是否是SpecifierOpt類型
if(po->flags& OPT_SPEC){
//so指向SpecifierOpt*的首地址
SpecifierOpt **so= dst;
//獲得數組長度
int i,*count=(int*)(so+1);
//循環遍歷SpecifierOpt*數組
for(i=0; i<*count; i++){
//釋放SpecifierOpt的specifier(char*類型)
av_freep(&(*so)[i].specifier);
//如果OPT類型是字元串,釋放SpecifierOpt的u.str(char*類型)
if(po->flags& OPT_STRING)
av_freep(&(*so)[i].u.str);
}
//釋放SpecifierOpt*指針數組
av_freep(so);
//重置計數器
*count=0;
}
//判斷是否是char*類型
elseif(po->flags& OPT_OFFSET&& po->flags& OPT_STRING)
av_freep(dst);
po++;
}

這里需要對OptionContext的內容做一些說明:

OptionContext 包含了在視頻編轉碼過程中需要用到的參數,這些參數來自於命令行的輸入。
參數在OptionContext中的存儲形式有:
#defineOPT_INT 0x0080
#defineOPT_FLOAT 0x0100
#defineOPT_INT64 0x0400
#defineOPT_TIME 0x10000
#defineOPT_DOUBLE 0x20000
等,詳情參見 structOptionDef
在上述代碼中,主要循環釋放的是OPT_SPEC(對應struct SpecifierOpt)和 OPT_STRING
在OptionContext中,OPT_SPEC類型是成對出現的,如下:
typedefstructOptionsContext{
int64_t start_time;
constchar*format;
SpecifierOpt *codec_names;
int nb_codec_names;
SpecifierOpt *audio_channels;
int nb_audio_channels;

即:
SpecifierOpt *xxx_vars;
int nb_xxx_vars; //nb_讀作number_意思是xxx_vars數組的長度

然後我們來分析對SpecifierOpt*數組的遍歷:
SpecifierOpt **so= dst;
int i,*count=(int*)(so+1);
for(i=0; i<*count; i++){

這里可以這么理解:
so —指向—> SpecifierOpt *xxx_vars;
so+1—指向—> int nb_xxx_vars;
so+1 的含義:so是個SpecifierOpt指針,指針+1則移動了sizeof(SpecifierOpt)的位置,即跳到nb_xxx_vars的位置。

熱點內容
c語言inti 發布:2024-11-19 01:27:33 瀏覽:605
登錄政務服務網如何保存密碼 發布:2024-11-19 00:59:05 瀏覽:8
怎麼登陸appleid密碼忘了怎麼辦啊 發布:2024-11-19 00:29:54 瀏覽:655
極地大亂斗掛機腳本 發布:2024-11-19 00:29:01 瀏覽:421
iphone怎麼新建文件夾 發布:2024-11-19 00:24:37 瀏覽:913
免費代理伺服器ip和埠怎麼用 發布:2024-11-19 00:20:10 瀏覽:880
c語言帶參數的宏 發布:2024-11-19 00:07:31 瀏覽:946
15人團隊解壓拓展有什麼作用 發布:2024-11-18 23:46:34 瀏覽:307
百米2什麼配置 發布:2024-11-18 23:37:55 瀏覽:651
mp3存儲 發布:2024-11-18 23:20:08 瀏覽:866