導航:首頁 > 凈水問答 > ffmpeg過濾器

ffmpeg過濾器

發布時間:2021-03-18 06:16:51

『壹』 小白求一個 movist mac 破解版

軟體介紹:

movist mac 破解版是mac用戶常用的一款視頻播放器。它主要是使用QuickTime和FFmpeg的解碼器來支持整個軟體的視頻播放的,使軟體能夠非常好的支持掛載字母,支持多種文件格式的播放,並且它的cpu佔用率非常的低,在整個軟體的使用體驗上是遠遠大於很多視頻播放器的。

所需工具:點擊下載 movist mac 破解版


軟體特點

1、支持QuickTime和FFmpeg解碼器5

2、可定製高品質的標題

3、支持SMI,SRT格式的字幕

4、支持播放列表

5、媒體播放控制

6、控制面板全屏

7、簡單的用戶界面

8、通用二進制

movist mac功能

1、鍵盤背光在全屏顯示。

2、媒體密鑰支持。

3、關閉、注銷、在播放列表中休眠的結束作業。

4、在全屏導航中按下和按住播放/暫停。

5、單窗口模式或多文檔模式。

6、各種窗口大小調整中心和樣式。

7、傳統的或獅子式的全屏。

8、桌面背景顯示。

9、支持應用程序沙盒。

10、視網膜顯示器支持。

11、完全可定製的主題。

12、支持多種文件格式。

13、支持許多視頻和音頻編解碼器。

14、Codec-to-Decoder 綁定。

15、264視頻解碼加速度。

16、支持許多核心圖像過濾器。

17、視頻旋轉和翻轉。

18、逐行掃描 (僅 ffmpeg)。

19、不掃描電視。

20、數字音頻出 (s/s/pdif) (僅 ffmpeg)。

21、系統音量變化。

22、a/v 同步調整。

23、支持音頻均衡器 (僅 ffmpeg)。

24、quicktime 解碼器中的數字音頻。

『貳』 如何在C++調用ffmpeg中循環播放一個視頻呢現在是只能夠播放一次。實現是參照雷霄驊的100行代碼。

引子
OpenCV中有自己的用於處理圖片和視頻的類VideoCapture,可以很方便的讀入文件和顯示。
現在視頻數據流是ffmpeg解碼h264文件得到的,由於要依賴該數據源進行相應的後續處理,所以需要將ffmpeg中得到的數據緩存轉換成可以被OpenCV處理的Mat類對象。
ffmpeg介紹
FFmpeg是一個開源免費跨平台的視頻和音頻流方案,屬於自由軟體,採用LGPL或GPL許可證(依據你選擇的組件)。它提供了錄制、轉換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec里很多codec都是從頭開發的。
FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,並能將其轉化為流的開源計算機程序。它包括了目前領先的音/視頻編碼庫libavcodec。 FFmpeg是在Linux下開發出來的,但它可以在包括Windows在內的大多數操作系統中編譯。
FFmpeg的組成結構
FFmpeg主要由一下幾個部分組成:
libavcodec:一個包含了所有FFmpeg音視頻編解碼器的庫。 為了保證最優性能和高可復用性,大多數編解碼器從頭開發的。
libavformat:一個包含了所有的普通音視格式的解析器和 產生器的庫。
三個實常式序,這三個實例較為復雜,基本可以作為API使用手冊:
ffmpeg:命令行的視頻格式轉換程序。
ffplay:視頻播放程序。(需要SDL支持)
ffserver:多媒體伺服器
了解完組成結構後,你會發現,如果你在尋找一種視頻格式轉換的方式,那FFmpeg絕對是你的第一選擇,libavcodec 則又是重 中之重。如果遇上API不會使用的情況,可以參考ffmpeg.c、ffplay.c、 ffserver.c、apiexample.c(解碼)和output_example.c(編碼)。
ffmpeg使用說明
ffmpeg庫的介面都是c函數,其頭文件也沒有extern "C"的聲明,所以在cpp文件里調用ffmpeg函數要注意了。
一般來說,一個用C寫成的庫如果想被C/C++同時可以使用,那在頭文件應該加上
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
} // endof extern "C"
#endif

如果在.cpp里調用av_register_all()在鏈接時將找到不符號,因為.cpp要求的符號名
和ffmpeg庫提供的符號名不一致。
可以這么解決:
extern "C"
{
#include <libavutil/avutil.h>
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
}

使用ffmpeg SDK解碼流數據過程
以H264視頻流為例,講解解碼流數據的步驟。
准備變數
定義AVCodec,AVCodec *變數為解碼器指針。
定義AVCodecContext,使用該變數可以將其定義為ffmpeg解碼類的類成員。
定義AVFrame,AVFrame描述一個多媒體幀。解碼後的數據將被放在其中。
定義AVFormatContext變數,AVFormatContext用於保存視頻流的有效信息。
AVCodec *pCodec;
AVCodecContext * pCodecCtx;
AVFrame * pAvFrame;
AVFormatContext *pFormatCtx;

初始化解碼器
第一件事情就是初始化libavformat/libavcodec:
ffmpeg注冊復用器,編碼器等的函數av_register_all()。
av_register_all();

這一步注冊庫中含有的所有可用的文件格式和編碼器,這樣當打開一個文件時,它們才能夠自動選擇相應的文件格式和編碼器。要注意你只需調用一次 av_register_all(),所以,盡可能的在你的初始代碼中使用它。這里注冊了所有的文件格式和編解碼器的庫,所以它們將被自動的使用在被打開的合適格式的文件上。注意你只需要調用 av_register_all()一次,因此我們在主函數main()中來調用它。如果你喜歡,也可以只注冊特定的格式和編解碼器,但是通常你沒有必要這樣做。
打開視頻文件,取出包含在文件中的流信息
// 打開視頻文件
if(av_open_input_file(&pFormatCtx, filename, NULL, 0, NULL)!=0)
handle_error(); // 不能打開此文件

這個函數讀取文件的頭部並且把信息保存到我們給的AVFormatContext結構體中。
最後三個參數描述了文件格式,緩沖區大小(size)和格式參數;我們通過簡單地指明NULL或0告訴 libavformat 去自動探測文件格式並且使用默認的緩沖區大小。
// 取出流信息
if(av_find_stream_info(pFormatCtx)<0)
handle_error(); // 不能夠找到流信息

查找文件的流信息,avformat_open_input函數只是檢測了文件的頭部,接著要檢查在文件中的流的信息。
這一步會用有效的信息把 AVFormatContext 的流域(streams field)填滿。作為一個可調試的診斷,我們會將這些信息全盤輸出到標准錯誤輸出中,不過你在一個應用程序的產品中並不用這么做。
我們僅僅處理視頻流,而不是音頻流。為了讓這件事情更容易理解,我們只簡單使用我們發現的第一種視頻流。
//遍歷文件的各個流,找到第一個視頻流,並記錄該流的編碼信息
videoindex = -1;
for(i=0; i<pFormatCtx->nb_streams; i++)
{
if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO)
{
videoindex=i;
break;
}
}
if(videoindex==-1)
{
printf("Didn't find a video stream.\n");
return;
}
pCodecCtx=pFormatCtx->streams[videoindex]->codec;

我們已經得到了一個指向視頻流的稱之為上下文的指針。接下來,我們需要找到真正的編碼器打開它。
尋找視頻流的解碼器
在庫裡面查找支持該格式的解碼器
pCodec = avcodec_find_decoder(pCodecCtx->codec_id);
if(pCodec == NULL)
handle_error(); // 找不到解碼器

打開解碼器
if(avcodec_open(pCodecCtx, pCodec)<0)
handle_error();

給視頻幀分配空間,以便存儲解碼後的圖片數據
pAvFrame = avcodec_alloc_frame();

解碼視頻幀就像我前面提到過的,視頻文件包含數個音頻和視頻流,並且他們各個獨自被分開存儲在固定大小的包里。我們要做的就是使用libavformat依次讀取這些包,過濾掉所有那些視頻流中我們不感興趣的部分,並把它們交給libavcodec進行解碼處理。
進行解碼
通過該api讀入一幀
result = av_read_frame(pFormatCtx, packet);

通過下面的api進行解碼一幀數據,將有效的圖像數據存儲到pAvFrame成員變數中
ret = avcodec_decode_video2(pCodecCtx, pAvFrame, &got_picture, packet);

『叄』 有沒有可能一個人寫一個h264的解碼器,不使用開源代碼

一個人呢,看多長時間了,可能性肯定是有的
但是不浪費時間么
ffmpeg里僅h264.c一個文件就1w行
自己寫的話,效率和穩定性又不一定好,不值當

『肆』 批處理下怎麼用ffmpeg判斷視頻完不完整,有無問題

1、ffmpeg本身不能校驗視頻完整性,如果是可串流的格式,那麼只要meta信息完整,裡面數據未損壞,哪怕只有一半內容,也會認為正常
2、只使用-i可以獲取meta,如果你是在bash環境可以配合grep來過濾錯誤信息
3、要確定數據是否健康無損壞,最簡單的辦法就是用最快速的preset跑一遍,輸出到/dev/null就行了,同樣使用grep過濾輸出即可

『伍』 android ffmpeg怎麼用

這個是一個大項,專業人員都要學兩三天才能下手,所以我就簡述一下

1、最簡單你可以使用現成的,很多基於ffmpeg封裝的框架 (ijkPlayer

GSYVideoPlayer)

2、自己做 需要有JNI知識(包含基本C/C++語法)給你看下大致流程

其中so庫也可以網上下載到

3、ffmpeg參考文獻基本都是推雷霄驊的,但是他不幸GG了,所以文獻什麼的都有點過時,我們使用AS開發有很多便利了,他都沒講到,可以網路過濾獲取最新的視屏資源和文章學習

『陸』 如何用ffmpeg播放抓包下來的pcap文件,是播放遠端視頻伺服器時抓的UDP包

視頻源沒問題 也沒丟包 那就是解碼器的問題

『柒』 bc!格式的文件 ■解決了再給分■

rmvb是一種視頻格式,描述中你說將.bc去掉以後依舊是一個未知文件,所以說明你的電腦中也許沒有支持rmvb格式的視頻播放器。

結尾處你說,可以在BitComet中播放佐證了這一點,能夠播放說明視頻文件是沒有問題的。所以你現在需要做的是下載一個支持rmvb格式的播放器軟體。

另外,不要把它改成其他格式,一般來說,對文件進行後綴名的修改,以不是文件格式的方式是無法打開這個文件的。

(7)ffmpeg過濾器擴展閱讀

在Windows平台,專用的RealPlayer HD播放器和開源的、使用合適的DirectShow過濾器或Real插件的MPC(Media
Player
Classic)播放器、暴風影音等,都支持RMVB文件播放。

在Linux或其他類Unix平台上,MPlayer,xine和Totem播放器使用開源的、反向工程破解的FFmpeg實現來播放RMVB文件。跨平台的VLC媒體播放器也支持該格式的播放。

硬碟類MP4相比快閃記憶體類MP4的一大特點就是其所支持的視頻格式的多樣性。但由於長期以來MP4都沒能完全兼容RMVB格式。

因而兩種MP4在日常使用中並沒有讓人感覺到之間有什麼本質性的區別,因為對於占絕大多數的RMVB視頻,兩者都無法做到「即下即播」或是「即拖即放」。

難怪全面兼容RMVB格式的機型出來之時,業界也為之歡呼雀躍。當然,兼容RMVB格式的播放器除了要獲得REALNETWORKS公司授權外,對播放器晶元的主頻要求也是非常高。

而且在前面的三大視頻格式的性能對比中,我們也看到了兼容RMVB格式,對於增強MP4尤其是容量小的快閃記憶體MP4的實用性,有著不可估量的巨大意義。

『捌』 我的桌面右下角總是出現一個圖標,不知道是啥東西...關也關不了 求大神知道

呵呵你好 我的也是這個問題看吧 告訴你怎麼解決 看看你最近安裝了什麼軟體 這是個音頻分割器,是關於視頻音頻的東東 吧他卸載就OK了 (這東西怪煩人找也找不到他 )

『玖』 ffmpeg中的skip_loop_filter有什麼作用比如setAvCodecOptions("skip_loop_filter", "8");

是解碼的一個參數,叫環路濾波,環路濾波主要用於濾除方塊效應(塊內模糊, 圖像信號的低頻區是用來反應一個圖像的細節程度的,要是去掉低頻部分,只用高頻來描述圖像的輪廓肯定很明顯的出現方塊效應 。)decode_slice()在解碼完一行宏塊之後,會調用loop_filter()函數完成環路濾波功能。
設置成48和0,圖像清晰度對比,0比48清楚,理解起來就是,
0是開啟了環路濾波,過濾的是大部分,
而48基本沒啟用環路濾波,所以清晰度更低,但是解碼性能開銷小
skip_loop_filter(環路濾波)簡言之:
a:環路濾波器可以保證不同水平的圖像質量。
b:環路濾波器更能增加視頻流的主客觀質量,同時降低解碼器的復雜度。

『拾』 ffmpeg 下載一些視頻會403 ,怎麼解決下載器下載 瀏覽器下載都沒問題 -i "http

方法一:FFmpeg concat 協議
對於 MPEG 格式的視頻,可以直接連接:
ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c output.mpg
對於非 MPEG 格式容器,但是是 MPEG 編碼器(H.264、DivX、XviD、MPEG4、MPEG2、AAC、MP2、MP3 等),可以包裝進 TS 格式的容器再合並。在新浪視頻,有很多視頻使用 H.264 編碼器,可以採用這個方法
ffmpeg -i input1.flv -c -bsf:v h264_mp4toannexb -f mpegts input1.ts
ffmpeg -i input2.flv -c -bsf:v h264_mp4toannexb -f mpegts input2.ts
ffmpeg -i input3.flv -c -bsf:v h264_mp4toannexb -f mpegts input3.ts
ffmpeg -i "concat:input1.ts|input2.ts|input3.ts" -c -bsf:a aac_adtstoasc -movflags +faststart output.mp4
保存 QuickTime/MP4 格式容器的時候,建議加上 -movflags +faststart。這樣分享文件給別人的時候可以邊下邊看。
方法二:FFmpeg concat 分離器
這種方法成功率很高,也是最好的,但是需要 FFmpeg 1.1 以上版本。先創建一個文本文件filelist.txt:
file 'input1.mkv'
file 'input2.mkv'
file 'input3.mkv'
然後:
ffmpeg -f concat -i filelist.txt -c output.mkv
注意:使用 FFmpeg concat 分離器時,如果文件名有奇怪的字元,要在 filelist.txt 中轉義。
方法三:Mencoder 連接文件並重建索引
這種方法只對很少的視頻格式生效。幸運的是,新浪視頻使用的 FLV 格式是可以這樣連接的。對於沒有使用 MPEG 編碼器的視頻(如 FLV1 編碼器),可以嘗試這種方法,或許能夠成功。
mencoder -forceidx -of lavf -oac -ovc -o output.flv input1.flv input2.flv input3.flv
方法四:使用 FFmpeg concat 過濾器重新編碼(有損)
語法有點復雜,但是其實不難。這個方法可以合並不同編碼器的視頻片段,也可以作為其他方法失效的後備措施。
ffmpeg -i input1.mp4 -i input2.webm -i input3.avi -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]' -map '[v]' -map '[a]' <編碼器選項> output.mkv
如你所見,上面的命令合並了三種不同格式的文件,FFmpeg concat 過濾器會重新編碼它們。注意這是有損壓縮。
[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] 分別表示第一個輸入文件的視頻、音頻、第二個輸入文件的視頻、音頻、第三個輸入文件的視頻、音頻。concat=n=3:v=1:a=1 表示有三個輸入文件,輸出一條視頻流和一條音頻流。[v] [a] 就是得到的視頻流和音頻流的名字,注意在 bash 等 shell 中需要用引號,防止通配符擴展。
提示
以上三種方法,在可能的情況下,最好使用第二種。第一種次之,第三種更次。第四種是後備方案,盡量避免。
規格不同的視頻合並後可能會有無法預測的結果。
有些媒體需要先分離視頻和音頻,合並完成後再封裝回去。
對於 Packed B-Frames 的視頻,如果封裝成 MKV 格式的時候提示 Can't write packet with unknown timestamp,嘗試在 FFmpeg 命令的 ffmpeg 後面加上 -fflags +genpts

閱讀全文

與ffmpeg過濾器相關的資料

熱點內容
大連居民污水收費 瀏覽:796
怡口凈水器上水口有水怎麼辦 瀏覽:293
南京污水廠離城關學校有多少公里 瀏覽:443
凈水壺濾芯多少一個 瀏覽:236
空氣凈化器iai什麼意思 瀏覽:617
沁園truliva的RO膜怎麼換 瀏覽:175
水草魚缸還需要過濾嗎 瀏覽:818
卡萊迪中央凈水器如何換濾芯 瀏覽:954
污水處理廠的照明有什麼要求 瀏覽:969
開水消毒奶瓶有水垢怎麼辦 瀏覽:959
飲水機燒水多少錢 瀏覽:394
飲水機的水怎麼樣去污 瀏覽:621
浪木2020型飲水機多少錢 瀏覽:961
陽離子交換樹脂分離純化蛋白質 瀏覽:863
超純水中的電阻率是什麼意思 瀏覽:635
污水泵雙電源控制箱怎麼接線 瀏覽:997
廢水壞處 瀏覽:827
家用污水泵直徑多少 瀏覽:626
什麼化工可以去除污水裡的氯離子 瀏覽:147
換機油濾芯器怎麼操作 瀏覽:389