<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مرتضی شهامی</title>
        <link>https://virgool.io/feed/@shahami</link>
        <description>خدایا چنان کن سرانجام کار   تو خشنود باشی و ما رستگار</description>
        <language>fa</language>
        <pubDate>2026-04-15 06:55:26</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1108434/avatar/P0JQlo.jpeg?height=120&amp;width=120</url>
            <title>مرتضی شهامی</title>
            <link>https://virgool.io/@shahami</link>
        </image>

                    <item>
                <title>دکتر عیسی زارع‌پور گزینه پیشنهادی برای تصدی وزارت ارتباطات و فناوری اطلاعات</title>
                <link>https://virgool.io/@shahami/%D8%AF%DA%A9%D8%AA%D8%B1-%D8%B9%DB%8C%D8%B3%DB%8C-%D8%B2%D8%A7%D8%B1%D8%B9-%D9%BE%D9%88%D8%B1-%DA%AF%D8%B2%DB%8C%D9%86%D9%87-%D9%BE%DB%8C%D8%B4%D9%86%D9%87%D8%A7%D8%AF%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%B5%D8%AF%DB%8C-%D9%88%D8%B2%D8%A7%D8%B1%D8%AA-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7%D8%A7%D8%AA-%D9%88-%D9%81%D9%86%D8%A7%D9%88%D8%B1%DB%8C-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-efgid8sx0kbf</link>
                <description>دکتر عیسی زارع‌پوربا معرفی آقای دکتر عیسی زارع‌پور به‌عنوان وزیر پیشنهادی ارتباطات و فناوری اطلاعات به مجلس شورای اسلامی، رویکرد آقای رئیس‌جمهور برای بخش ICT دولت سیزدهم تقریباً مشخص گردید. اگرچه با توجه به عملکرد و سیاست‌های یک سال و نیم گذشته آقایان رئیسی و زارع‌پور در حوزه فناوری اطلاعات قوه قضائیه، این موضوع تا حدود زیادی قابل پیش‌بینی بود. با توجه به سوابق و تجربیات آقای دکتر زارع‌پور در سمت‌های قبلی، به نظر می‌آید دوران کم‌توجهی به فناوری اطلاعات در دولت‌ها سپری‌شده و در دولت سیزدهم شاهد توجه جدی به حوزه فناوری اطلاعات و کاربردهای آن خواهیم بود. به نظر اینجانب نکات قابل‌توجه در بررسی سوابق و برنامه‌های گزینه پیشنهادی رئیس‌جمهور محترم برای تصدی مسئولیت وزارت ارتباطات و فناوری اطلاعات توسط نمایندگان محترم مجلس شورای اسلامی، به شرح زیر است:- سوابق علمی و تخصصی ایشان در بالاترین سطح بین‌المللی است.- تجربیات ایشان چه در حوزه فنی و چه در حوزه‌های مدیریتی بخش فناوری اطلاعات و ارتباطات کشور خوب و قابل‌توجه است.- با توجه به تمرکز دولت‌های قبل بر توسعه ارتباطات و کم‌توجهی به موضوعات مرتبط با فناوری اطلاعات نظیر دولت الکترونیک، امنیت اطلاعات، خدمات بر بستر شبکه ملی اطلاعات و موارد مشابه، به نظر می‌رسد آقای دکتر زارع‌پور که تجربیات مهمی در حوزه‌های تولید و توسعه محتوی و خدمات الکترونیک در سوابق خود دارد، گزینه مناسبی برای این وزارت باشد.- با توجه به مسئولیت فعلی ایشان در مرکز فناوری اطلاعات قوه قضائیه و سابقه ارتباط نزدیک ایشان با رئیس‌جمهور محترم، به نظر می‌آید مدیریت برنامه‌های توسعه ICT توسط ایشان در دولت سیزدهم، با سهولت بیشتری امکان‌پذیر خواهد شد.- روحیه جوان، انقلابی و تلاش‌گر آقای دکتر زارع‌پور، به همراه تخصص و تجارب باارزش ایشان، باعث افزایش سرعت و دقت در توسعه بخش ICT و به‌کارگیری همه ظرفیت‌های فراوان موجود در داخل، برای ایجاد هماهنگی و همبستگی و در نتیجه تسهیل در توسعه سایر بخش‌های کشور خواهد شد.- شناخت مشکلات موجود بخش ICT کشور و تأکید بر برنامه‌های زیر، نشان از عزم جدی و برنامه منسجم ایشان برای تلاش در جهت توسعه ارتباطات و فناوری اطلاعات کشور دارد: دولت هوشمند و الکترونیک، حکمرانی دیجیتال، تکمیل شبکه ملی اطلاعات، تولید محتوی، توسعه فیبرنوری منازل، صادرات محصولات دانش‌بنیان، نظام جامع تنظیم گری فضای مجازی، امنیت اطلاعات، برنامه بلندمدت فضایی و ...</description>
                <category>مرتضی شهامی</category>
                <author>مرتضی شهامی</author>
                <pubDate>Sat, 14 Aug 2021 10:35:50 +0430</pubDate>
            </item>
                    <item>
                <title>رادیو اینترنتی</title>
                <link>https://virgool.io/@shahami/%D8%B1%D8%A7%D8%AF%DB%8C%D9%88-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA%DB%8C-uzzlmfpzkgvk</link>
                <description>خیلی وقت بود می‌خواستم یه رادیویی اینترنتی راه بندازم که بالاخره هفته قبل تونستم کمی روش کار کنم و انجامش بدم.برای این کار به یک سرور Linux احتیاج داریم که من از Ubuntu 20.04استفاده کردم.1- نصب Nginx و ماژول RTMPapt update
apt install ffmpeg libpcre3-dev libssl-dev zlib1g-dev
git clone https://github.com/sergey-dryabzhinsky/nginx-rtmp-module.git
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -xf nginx-1.20.1.tar.gz
cd nginx-1.20.1/
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=../nginx-rtmp-module
make -j 1
make installبا این کار Nginx در مسیر usn/local/nginx/ نصب و آماده استفاده خواهد شد.2- تنظیمات Nginxاپلیکیشن Nginx تنظیمات خیلی زیادی داره که در فایل تنظیماتش ذخیره می‌شه. ما در این پروژه می‌خواهیم Nginx رو برای دریافت استریم rtmp از خود سرور و پخش روی اینترنت با پروتکل‌های rtmp و hls تنظیم کنیم./usr/local/nginx/conf/nginx.conf:worker_processes  auto;
events {
    worker_connections  1024;
}
# RTMP configuration
rtmp {
    server {
        listen 1935;
        chunk_size 4096;
        allow publish 127.0.0.1;
        deny publish all;

        application live {
            live on;
            # Turn on DASH
            #dash on;
            #dash_path /tmp/dash/;
            #dash_fragment 10s;
            #dash_playlist_length 60;

            # Turn on HLS
            hls on;
            hls_path /tmp/hls/;
            hls_fragment 5s;
            hls_playlist_length 20;
            # disable consuming the stream from nginx as rtmp
            # deny play all;
        }
    }
}

http {
    sendfile off;
    tcp_nopush on;
    directio 512;
    default_type application/octet-stream;

    server {
        listen 80;
        location / {
            # Disable cache
            add_header &#039;Cache-Control&#039; &#039;no-cache&#039;;

            # CORS setup
            add_header &#039;Access-Control-Allow-Origin&#039; &#039;*&#039; always;
            add_header &#039;Access-Control-Expose-Headers&#039; &#039;Content-Length&#039;;

            # allow CORS preflight requests
            if ($request_method = &#039;OPTIONS&#039;) {
                add_header &#039;Access-Control-Allow-Origin&#039; &#039;*&#039;;
                add_header &#039;Access-Control-Max-Age&#039; 1728000;
                add_header &#039;Content-Type&#039; &#039;text/plain charset=UTF-8&#039;;
                add_header &#039;Content-Length&#039; 0;
                return 204;
            }

            types {
                application/dash+xml mpd;
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }

            root /tmp/;
        }
    }
}با این تنظیمات، Nginx یک استریم با اپلیکیشن live رو از نرم‌افزار ffmpeg که روی localhost اجرا می‌شه، دریافت می‌کنه و اون رو با پروتکل‌های rtmp و hls پخش می‌کنه. پروتکل rtmp امکان پخش روی وب رو نداره و برای همین دو پروتکل hls و dash روی Nginx توسعه داده شده که تفاوت‌هایی باهم دارند. من اینجا از hls استفاده کردم. این پروتکل استریمی که دریافت می‌کنه رو به تکه فایل‌های کوچک (fragment) با فرمت ts و یک playlist با فرمت m3u8 در مسیر tmp/hls/ ایجاد می‌کنه که قابل استفاده تو وب خواهد بود.برای بررسی صحت فایل تنظیمات بالا دستور زیر را اجرا می‌کنیم:/usr/local/nginx/sbin/nginx –tو اگه مشکلی تو فایل تنظیمات نباشه، می‌شه اون رو با دستور زیر اجرا کرد:/usr/local/nginx/sbin/nginxدقت کنید برای اینکه بعد از هر بار بوت شدن سرور دوباره Nginx اجرا بشه یا باید اون رو به service تبدیل کرد و یا باید دستور بالا به فایل etc/rc.local/ اضافه بشه.3- اسکریپبرای اینکه رادیو بصورت اتوماتیک و مداوم پخش داشته باشه و با اضافه و کم کردن فایل‌های صوتی، مشکلی پیش نیاد، من این اسکریپت رو نوشتم و اونو به crontab اضافه کردم:/home/cron.sh:#!/bin/bash
echo &#039;ffconcat version 1.0&#039; &gt; /home/RadioPlaylist
for audio in /home/RadioFiles/*.mp3
do
    echo &#039;file&#039; &amp;quot&#039;$audio&#039;&amp;quot &gt;&gt; /home/RadioPlaylist
done
echo &#039;file&#039; &amp;quot&#039;/home/RadioPlaylist&#039;&amp;quot &gt;&gt; /home/RadioPlaylist

ps -A | grep ffmpeg
if [ $? -eq 1 ]
then
  ffmpeg -re -f mp3 -f concat -i /home/RadioPlaylist -acodec copy -ab 64k -ac 1 -f flv rtmp://localhost/live/test
else
    echo $?
ficrontab:*/5 * * * * /home/cron.shاین اسکریپت دو بخش داره. در بخش اول یک فایل playlist از فایل‌های صوتی موجود در مسیر home/RadioFiles/ می‌سازه و در بخش دوم درصورتی که ffmpeg در حال اجرا نباشه، اون رو به شکل مورد نظر برای پخش playlist بخش اول اجرا می‌کنه و استریم ساخته شده رو به اپلیکیشن live در Nginx می‌فرسته. با اجرای مکرر این فایل توسط crontab، در صورت تغییر فایل‌های صوتی، playlist جدید ایجاد و پخش می‌شه. با اجرای این اسکریپت اگه فایل صوتی mp3 در مسیر /home/RadioFiles/ داشته باشیم، دو استریم روی اینترنت با نشانی‌های زیر شروع به پخش می‌کنه که توسط نرم‌افزارهایی مثل vlc قابل دریافت خواهد بود:rtmp://&lt;&lt;Server-Url&gt;&gt;/live/test
http://&lt;&lt;Server-Url&gt;&gt;/hls/test.m3u8/home/RadioPlaylist:ffconcat version 1.0
file &#039;/home/RadioFiles/music1.mp3&#039;
file &#039;/home/RadioFiles/music2.mp3&#039;
file &#039;/home/RadioFiles/music3.mp3&#039;
file &#039;/home/RadioPlaylist&#039;4- وبمن برای پخش این استریم در صفحات وب، از hls.js استفاده کردم.&lt;script src=&amp;quothttps://cdn.jsdelivr.net/npm/hls.js@latest&amp;quot&gt;&lt;/script &gt;
&lt;p style=&amp;quottext-align:center;&amp;quot&gt;&lt;audio id=&amp;quotaudio&amp;quot controls=&amp;quotcontrols&amp;quot&gt;&lt;/audio&gt;&lt;/p&gt;
&lt;script &gt;
    var audio = document.getElementById(&#039;audio&#039;);
    var audioSrc = &#039;http://&lt;Server-Url&gt;&gt;/hls/test.m3u8&#039;;
    if (Hls.isSupported()) {
      var hls = new Hls();
      hls.loadSource(audioSrc);
      hls.attachMedia(audio);
      audio.play();
    }
    else if (audio.canPlayType(&#039;application/vnd.apple.mpegurl&#039;)) {
      audio.src = audioSrc;
      audio.play();
    }
  &lt;/script &gt;امیدوارم این نوشته مفید باشه.</description>
                <category>مرتضی شهامی</category>
                <author>مرتضی شهامی</author>
                <pubDate>Fri, 13 Aug 2021 11:56:43 +0430</pubDate>
            </item>
                    <item>
                <title>به نام خدا</title>
                <link>https://virgool.io/@shahami/%D8%A8%D9%87-%D9%86%D8%A7%D9%85-%D8%AE%D8%AF%D8%A7-lak8nxem9ist</link>
                <description>به نام او که فکر کردن و اندیشه را به انسان موهبت کرد تا در راه کمال خود و هم‌نوعانش بکار برد. به دنبال یک عمر کارهای غیرمستند، امروز با تذکر یک دوست به فکر ذخیره و انتشار تجربیاتم در «ویرگول» افتادم.امیدوارم تصمیمم ادامه دار باشه!</description>
                <category>مرتضی شهامی</category>
                <author>مرتضی شهامی</author>
                <pubDate>Wed, 11 Aug 2021 18:22:22 +0430</pubDate>
            </item>
            </channel>
</rss>