簡體   English   中英

使用ffmpeg將直播內容流式傳輸到Azure媒體服務

[英]Use ffmpeg to stream live content to azure media services

我一直在嘗試使用ffmpeg將內容流式傳輸到Azure媒體服務,因為它是此處描述的選項之一: http : //azure.microsoft.com/blog/2014/09/18/azure-media-services-rtmp-support -and-實時編碼器/

我的命令是:

ffmpeg -v verbose -i 300.mp4 -strict -2 -c:a aac -b:a 128k -ar 44100 -r 30 -g 60 -keyint_min 60 -b:v 400000 -c:v libx264 -preset medium -bufsize 400k -maxrate 400k -f flv rtmp://nessma-****.channel.mediaservices.windows.net:1935/live/584c99f5c47f424d9e83ac95364331e7

我確保流式傳輸端點具有一個活動的流式傳輸單元,還確保該通道實際上處於就緒狀態,並且甚至可以使它開始流式傳輸(這使PublishURL可用)。

當我執行ffmpeg命令開始流式傳輸時,我不斷收到以下錯誤:

ffmpeg version 2.5.2 Copyright (c) 2000-2014 the FFmpeg developers built on Dec 30 2014 11:31:18 with llvm-gcc 4.2.1 (LLVM build 2336.11.00) configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --arch=x86_64 --enable-runtime-cpudetect libavutil 54. 15.100 / 54. 15.100 libavcodec 56. 13.100 / 56. 13.100 libavformat 56. 15.102 / 56. 15.102 libavdevice 56. 3.100 / 56. 3.100 libavfilter 5. 2.103 / 5. 2.103 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Routing option strict to both codec and muxer layer [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9a0a002c00] overread end of atom 'colr' by 1 bytes [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9a0a002c00] stream 0, timescale not set [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9a0a002c00] max_analyze_duration 5000000 reached at 5003637 microseconds Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '300.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42isomavc1 creation_time : 2014-01-11 05:39:32 genre : Trailer artist : Warner Bros. title : 300: Rise of an Empire - Trailer 2 encoder : HandBrake 0.9.9 2013051800 date : 2014 Duration: 00:02:33.24, start: 0.000000, bitrate: 7377 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 (1920x1088), 7219 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default) Metadata: creation_time : 2014-01-11 05:39:32 encoder : JVT/AVC Coding Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 157 kb/s (default) Metadata: creation_time : 2014-01-11 05:39:32 Stream #0:2: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 101x150 [SAR 72:72 DAR 101:150], 90k tbr, 90k tbn, 90k tbc rtmp://nessma-****.channel.mediaservices.windows.net:1935/live/584c99f5c47f424d9e83ac95364331e7: Input/output error

Azure博客文章明確指出這應該可行,但我在任何地方都找不到可行的示例。

環境 :

  • MacOS小牛
  • 從官方版本安裝FFMPEG
  • 300.mp4:最新300部電影的1080p預告片

我發現這里缺少的東西...

在publishURL的末尾,您需要在末尾添加/ mystream1。 希望這對某人有幫助。

您需要在提取網址的末尾添加流密鑰名稱。 在azure流中,鍵名可以是任何東西。 它僅用於參考和日志目的。 例如:

rtmp://nessma-****.channel.mediaservices.windows.net:1935/live/584c99f5c47f424d9e83ac95364331e7/some_random_stream_name

當人們使用天藍色工作時,通常在每次廣播任何內容時都使用相同的流名稱。 有人更改流名稱以匹配事件名稱,例如"...live/584c99f5c47f424d9e83ac95364331e7/tennis_game_x_against_y" 當您遇到很多事件時,它將幫助您進行故障排除,同時也解決了蔚藍的問題。

暫無
暫無

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

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