انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: Nelliel در 29 آبان 1394، 10:58 قظ
-
سلام
من از گنوم 3.18 استفاده میکنم که از ناتیلوس به عنوان فایل منیجر استفاده میکنه, همون طور که میدونید هر اسکریپتی که در مسیر :
~/.local/share/nautilus/scripts
قرار بگیره از طریق منوی کلیک راست قابل اجرا شدن هست من میخوام مثل علیرضا امیرصمیمی با زنیتی یه اسکریپت بنویسم که هر وقت روی یه فایل ویدیوی کلیک کردم و بازش کردم اونو با زنیتی برام توی یه محیط گرافیکی ساده کانورت کنه.
حالا مشکل اینه که وقتی من از توی منوی کلیک راست اسکریپت را اجرا میکنم تغییرات روی فایل ویدیوی اعمال نمیشه یعنی اصلا ffmpeg کار نمیکنه و در دستور :
pstree | grep ffmpeg
نیست. یعنی میخوام طوری بنویسم که وقتی روی هر فایلی ویدیوی کلیک کردی اون فایل را ورودی ffmpeg بشناسه. من فعلا توی اسکریپتم اصلا از محیط گرافیکی که زنیتی میسازه استفاده نکردم تا اول مشکل اصلیم را حل کنم اما در حالت عادی باید کانورت شروع شه و برای کنسل کردنش ffmpeg را بکشم.
اسکریپت من تا الان اینه :
#!/bin/bash
for file in *
do
ffmpeg -i "$file" -c:v libx264 -c:a copy out.mp4
done
*ویرایش شد*
آیا اصلا درست رفتم ؟؟
چجوری بنویسم که روی فایلی که کلیک میکنم ورودی بشناسه ؟؟
-
فارغ از اینکه راهت درسته یا نه من یه سوتیه بزرگ توی اسکریپتت میبینم.
متغیر حلقه اسمش file ه نه i.
-
فارغ از اینکه راهت درسته یا نه من یه سوتیه بزرگ توی اسکریپتت میبینم.
متغیر حلقه اسمش file ه نه i.
بله حق با شماست :oops: :oops: :oops: :oops:
سوتیه خیلی بزرگی بود اما بازم مشکل هست
-
حل شد همون اسکریپت الان داره کار میکنه.
مشکل از سیستم من بود.
-
سلام
دوباره حل شد تاپیک را برداشتم چون دوباره تقریبا به مشکل قبلی بر خوردم, اسکریپت من رسیده به این :
#!/bin/bash
mpeg2video="MPEG2"
libx265="X265"
libx264="X264"
codec=$(zenity --title "Aricon" --width 500 --height 200 --list --text "Choose your codec" --radiolist --column "Select" --column "Codecs" TRUE "$libx265" FALSE "$libx264" FALSE "$mpeg2video");
if [ $? = 1 ];
then exit;
fi
outname=$(zenity --entry --title="Aricon" --text="Please choose your output name" )
if [$? = 1];
then exit;
fi
format=$(zenity --title "Aricon" --width 500 --height 250 --list --text "Choose your output format" --radiolist --column "Select" --column "Codecs" TRUE "mp4" FALSE "mkv" FALSE "flv" FALSE "mov");
if [ $? = 1 ];
then exit;
fi
for i in *
do
ffmpeg -i "$i" -c:v "$codec" -c:a copy "$outname"."$format"
done
و الان وقتی رانش میکنم مشکل قبلی را داره که هیچ اتفاقی نمیفته. لطفا راهنماییام کنید اینم خروجیش توی ترمینال :
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
./Aricon: line 10: [0: command not found
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 5.2.0 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-shared --enable-version3 --enable-x11grab
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Aricon: Invalid data found when processing input
ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 5.2.0 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-shared --enable-version3 --enable-x11grab
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Remuxer: Is a directory
یه نکته را بگم اون اخر نوشته Remuxer دایرکتوی هست باید بگم وقتی من اسکریپت را توی کلیک راست اجرا میکنم فرق داره با وقتی خودش را با ترمینال ران میکنم پس اون آخر که یه همچین چیزی را نوشته و گفته دایرکتوی هست همیشگی نیست.
فقط یه نکته قبلا توی htop کلمهی ffmpeg را نشون نمیداد و کانورت هم نمیکرد الان نشون نمیده اما نصفه نیمه کانورت میکنه یعنی طوری که تصویر نیست صدا هست یا ...