2016-12-06 132 views
0

我試圖得到一個M3U8 MD5輸出與ffmpeg的ffmpeg的當地M3U8

ffmpeg -y -map 0 -an -sn -f md5 - -i index.m3u8

,但得到一個錯誤

[https @ 0x556ad6947520] Protocol not on whitelist 'file,crypto'! index.m3u8: Invalid argument

我嘗試添加參數得到的MD5(記錄here

-protocol_whitelist file,http,https,tcp,tls

但我仍然得到相同的結果,如果我使用網絡m3u8(http)一切都按預期工作。

$ /usr/bin/ffmpeg -protocol_whitelist file,http,https,tcp,tls -y -map 0:0 -an -sn -f md5 - -i index.m3u8 
ffmpeg version 3.2.1 Copyright (c) 2000-2016 the FFmpeg developers 
built with gcc 5.3.0 (Alpine 5.3.0) 
configuration: --prefix=/usr/local --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --bindir=/usr/local/bin --disable-doc -- disable-static --enable-shared --disable-ffplay --extra-libs=-ldl --enable-version3 --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-gpl --enable-avresample --enable-postproc --enable-nonfree --disable-debug --enable-small --enable-openssl 
libavutil  55. 34.100/55. 34.100 
libavcodec  57. 64.101/57. 64.101 
libavformat 57. 56.100/57. 56.100 
libavdevice 57. 1.100/57. 1.100 
libavfilter  6. 65.100/6. 65.100 
libavresample 3. 1. 0/3. 1. 0 
libswscale  4. 2.100/4. 2.100 
libswresample 2. 3.100/2. 3.100 
libpostproc 54. 1.100/54. 1.100 
[https @ 0x5589b5d435a0] Protocol not on whitelist 'file,crypto'! 
index.m3u8: Invalid argument 
+0

您的ffmpeg是使用openssl還是gnutls編譯的? – Mulvya

+0

@Mulvya --enable-openssl,爲什麼?莫名其妙地影響md5嗎? –

+0

https輸入需要它。顯示您的整個命令和控制檯輸出。 – Mulvya

回答

0

的參數是好的,他們只需要在正確的順序:

ffmpeg -y -protocol_whitelist file,http,https,tcp,tls -i index.m3u8 -map 0 -an -sn -f md5 - 

爲記錄在手冊和幫助:

ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... 

-i選項適用於前那個輸入。輸入之後但輸出名稱或管道之前的選項適用於該輸出